Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
p6license.h
Go to the documentation of this file.
1 
11 #ifndef P6LICENSE_H__
12 #define P6LICENSE_H__ 1
13 
14 #include "p6i18n.h"
15 #include "p6cryptokey.h"
16 #include "p6sign.h"
17 
18 
19 #ifdef __cplusplus
20 namespace P6R {
21 extern "C" {
22 #endif
23 
39 typedef enum
40 {
41  LICENSE_NOOP = 0x00,
45 
54 typedef struct
55 {
56  const P6WCHAR* pName;
57  const P6WCHAR* pValue;
59 
68 static const P6LICENSEFLAGS P6LICENSE_NOFLAGS = 0x00000000;
69 
70 
77 #undef INTERFACE
78 #define INTERFACE p6IEnumLicense
80 {
91 
106  P6DECLCOMMETHOD(next)(P6THIS_ P6UINT32 cElements, P6PROPERTYVALUE* parElements, P6UINT32* pcReturned ) P6PURE;
107 };
108 
109 // {0AAB71D4-A6B1-4b55-BD31-2F14A2592C4B}
110 #define IF_p6IEnumLicense {0xaab71d4,0xa6b1,0x4b55,{0xbd,0x31,0x2f,0x14,0xa2,0x59,0x2c,0x4b}}
111 
112 
121 #undef INTERFACE
122 #define INTERFACE p6IEnumLicenseValueList
124 {
134  P6DECLCOMMETHOD(reset)(P6THIS) P6PURE;
135 
150  P6DECLCOMMETHOD(next)(P6THIS_ P6UINT32 cElements, P6PROPERTYVALUE* parElements, P6UINT32* pcReturned ) P6PURE;
151 };
152 
153 
154 // {67A3B9F0-A69C-40B6-AFE4-0CB02E81780D}
155 #define IF_p6IEnumLicenseValueList {0x67A3B9F0,0xA69C,0x40B6,{0xAF,0xE4,0x0C,0xB0,0x2E,0x81,0x78,0x0D}}
156 
157 
181 #undef INTERFACE
182 #define INTERFACE p6ILicense
184 {
198  P6DECLCOMMETHOD(initialize)(P6THIS_ P6LICENSEFLAGS flags, P6LICENSE_OPERATION mode ) P6PURE;
199 
212 
235  P6DECLCOMMETHOD(setKeys)(P6THIS_ p6ICryptoKey* pPublicKey, p6ICryptoKey* pPrivateKey, P6SIGNHMAC algorithm ) P6PURE;
236 
253  P6DECLCOMMETHOD(setPropInt)(P6THIS_ const P6WCHAR* pPropName, P6INT32 value ) P6PURE;
254 
271  P6DECLCOMMETHOD(setPropString)(P6THIS_ const P6WCHAR* pPropName, const P6WCHAR* pValue ) P6PURE;
272 
289  P6DECLCOMMETHOD(setPropStringList)(P6THIS_ const P6WCHAR* pPropName, const P6WCHAR* pValue ) P6PURE;
290 
291 
306  P6DECLCOMMETHOD(getPropInt)(P6THIS_ const P6WCHAR* pPropName, P6INT32* pValue ) P6PURE;
307 
328  P6DECLCOMMETHOD(getPropString)(P6THIS_ const P6WCHAR* pPropName, P6WCHAR* pBuffer, P6UINT32 cBuffer, P6UINT32* pWritten ) P6PURE;
329 
346  P6DECLCOMMETHOD(enumLicense)(P6THIS_ p6IEnumLicense** ppEnum ) P6PURE;
347 
365  P6DECLCOMMETHOD(enumLicenseValueList)(P6THIS_ const P6R::P6WCHAR *pszKeyName, p6IEnumLicenseValueList** ppEnum ) P6PURE;
366 
385  P6DECLCOMMETHOD(createLicenseFile)(P6THIS_ const P6WCHAR* pFilePath ) P6PURE;
386 
407  P6DECLCOMMETHOD(verifyLicenseFile)(P6THIS_ const P6WCHAR* pFilePath ) P6PURE;
408 };
409 
410 // {1DF20931-007C-48d4-9308-7D2A6F0E72BB}
411 #define IF_p6ILicense {0x1df20931,0x7c,0x48d4,{0x93,0x8,0x7d,0x2a,0x6f,0xe,0x72,0xbb}}
412 
413 // {3753D1AF-5BDD-4daa-A7E4-FC07BD0BC3BB}
414 #define COMP_p6License {0x3753d1af,0x5bdd,0x4daa,{0xa7,0xe4,0xfc,0x7,0xbd,0xb,0xc3,0xbb}}
415 
416 #ifdef __cplusplus
417 } /* extern "C" */
418 } // namespace
419 #endif
420 
421 
422 
423 #endif
424 
425 
426 
427 
428 
P6SIGNHMAC
Supported HMAC algorthms for signing:
Definition: p6sign.h:45
const P6WCHAR * pName
Definition: p6license.h:56
This interface provides key metadata infrormation and key access.
Definition: p6cryptokey.h:1195
unsigned int P6UINT32
Definition: p6types.h:46
A license file is composed of one or more name - value pairs.
Definition: p6license.h:79
#define P6DECLAREICOM
Definition: p6defs.h:175
#define P6PURE
Definition: p6defs.h:176
A license file is composed of one or more name - value pairs.
Definition: p6license.h:123
wchar_t P6WCHAR
Wide character type see p6i18n.h.
Definition: p6types.h:90
const P6WCHAR * pValue
Definition: p6license.h:57
int P6INT32
Definition: p6types.h:47
The base interface all [p6]COM components must derive from and implement.
Definition: p6comdef.h:97
Interface definition for all p6I18n and L10n features.
This interface supports the generation and verification of p6I18n licenses.
Definition: p6license.h:183
P6LICENSE_OPERATION
These are the supported operations that can be performed on a license.
Definition: p6license.h:39
A license property is a name - value pair.
Definition: p6license.h:54
#define P6DECLCOMMETHOD(method)
Definition: p6defs.h:173
P6UINT32 P6LICENSEFLAGS
P6LICENSEFLAGS.
Definition: p6license.h:67
#define P6THIS_
Definition: p6defs.h:177
Interface definition for the cryptographic signature generation and verification. ...
#define P6THIS
Definition: p6defs.h:178
#define P6DECLAREIF_(iface, baseif)
Definition: p6defs.h:172
P6R Cryptographic key interface definitions.