MrSID Decode SDK for Raster Reference Manual  9.0.0.3864
MrSIDPasswordDelegate.h
Go to the documentation of this file.
1 /* $Id$ */
2 /* //////////////////////////////////////////////////////////////////////////
3 // //
4 // This code is Copyright (c) 2004 LizardTech, Inc, 1008 Western Avenue, //
5 // Suite 200, Seattle, WA 98104. Unauthorized use or distribution //
6 // prohibited. Access to and use of this code is permitted only under //
7 // license from LizardTech, Inc. Portions of the code are protected by //
8 // US and foreign patents and other filings. All Rights Reserved. //
9 // //
11 /* PUBLIC */
12 
13 #ifndef MRSIDPASSWORDDELEGATE_H
14 #define MRSIDPASSWORDDELEGATE_H
15 
16 #include "lti_types.h"
17 
18 LT_BEGIN_NAMESPACE(LizardTech)
19 
20 
31 {
32  LT_DISALLOW_COPY_CONSTRUCTOR(MrSIDPasswordDelegate);
33 public:
37  MrSIDPasswordDelegate();
38 
42  virtual ~MrSIDPasswordDelegate();
43 
54  virtual LT_STATUS reportIncorrectPassword() = 0;
55 
68  virtual LT_STATUS getPassword() = 0;
69 
70 protected:
79  char* getPasswordBuffer();
80 
89  lt_uint32 getPasswordBufferLength();
90 
91 private:
92  class EncryptImp;
93  struct Data;
94  Data *m_data;
95 
97  friend class MG2ImageWriter;
98  friend class MG3ImageWriter;
99  friend class MG4ImageWriter;
100  void registerProvider();
101 };
102 
103 
111 {
112  LT_DISALLOW_COPY_CONSTRUCTOR(MrSIDSimplePasswordDelegate);
113 public:
121  MrSIDSimplePasswordDelegate(const char* password);
122 
131 
141 };
142 
143 LT_END_NAMESPACE(LizardTech)
144 
145 #endif // MRSIDPASSWORDDELEGATE_H
#define LT_END_NAMESPACE(theNameSpace)
compiler does not support namespaces
Definition: lt_define.h:85
simple concrete delegate for locked MrSID images
lt_uint32 LT_STATUS
An integral status code.
Definition: lt_status.h:39
LT_STATUS reportIncorrectPassword()
failure user notification
LT_STATUS getPassword()
get the password
delegate for locked MrSID images
base class for MrSID image readers
MrSIDSimplePasswordDelegate(const char *password)
constructor
This file contains a number of enums, typedefs, etc, that are used throughout the MrSID SDK...
#define LT_BEGIN_NAMESPACE(theNameSpace)
compiler does not support namespaces
Definition: lt_define.h:84
unsigned int lt_uint32
unsigned 32-bit integer
Definition: lt_types.h:54

LizardTech