Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
p6kmipserver.h
Go to the documentation of this file.
1 
10 #ifndef P6KMIPSERVER_H__
11 #define P6KMIPSERVER_H__ 1
12 
13 #include "p6net.h"
14 #include "p6kmipclient.h"
15 #include "p6kmipencoder.h"
16 #include "p6keystore.h"
17 #include "p6domxml.h"
18 
19 
20 namespace P6R {
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
26 
32 interface p6IKMIPCred : public p6ICom
33 {
44  P6COMMETHOD next( P6KMIP_CREDENTIAL* pAuthenticate ) = 0;
45 
54  P6COMMETHOD reset() = 0;
55 
66  P6COMMETHOD count( P6UINT32* pNumber ) = 0;
67 };
68 // {3476064D-5B31-47f1-8053-9255107A54FF}
69 #define IF_p6IKMIPCred {0x3476064d,0x5b31,0x47f1,{0x80,0x53,0x92,0x55,0x10,0x7a,0x54,0xff}};
70 
71 // {59B925FC-8CD9-4c75-96B2-E37E8AEDC1B8}
72 #define COMP_p6KMIPCred {0x59b925fc,0x8cd9,0x4c75,{0x96,0xb2,0xe3,0x7e,0x8a,0xed,0xc1,0xb8}}
73 
74 
75 
84 typedef struct {
88 
100 typedef struct {
106 } P6KMIP_PUTREQ;
107 
127 typedef struct {
129  P6WCHAR clientAddr[P6MAXIPADDR];
131 
133  union {
136  } value;
137 } P6KMIP_INCOMING_REQUEST;
138 
139 
160 typedef P6ERR (*KMIP_SERVER_REQ)( P6VOID* pContext, P6KMIP_INCOMING_REQUEST* pRequest );
161 
162 
174 interface p6IKMIPServer : public p6ICom
175 {
214  P6COMMETHOD initialize( P6KMIPFLAGS flags, P6UINT32 listenPort, P6UINT32 compatibility, p6IKeystore* pCerts, KMIP_SERVER_REQ pFn, P6VOID* pContext ) = 0;
215 
227  P6COMMETHOD start() = 0;
228 
238  P6COMMETHOD stop() = 0;
239 };
240 
241 // {FADB66B6-3687-412e-93A6-B8B0C20CAF35}
242 #define IF_p6IKMIPServer {0xfadb66b6,0x3687,0x412e,{0x93,0xa6,0xb8,0xb0,0xc2,0xc,0xaf,0x35}}
243 
244 // {32543015-6286-4c9c-965B-93FA177BEEE7}
245 #define COMP_p6KMIPServer {0x32543015,0x6286,0x4c9c,{0x96,0x5b,0x93,0xfa,0x17,0x7b,0xee,0xe7}}
246 
247 
248 #ifdef __cplusplus
249 }
250 #endif
251 
252 } // namespace
253 
254 
255 #endif
256 
This interface is an enumerator that returns a list of KMIP UTF-8 text string type values...
Definition: p6kmipclient.h:138
This interface allows the caller to find an existing key, certificate, or blob (e.g., password) by a namespace and name pair.
Definition: p6keystore.h:646
unsigned int P6UINT32
Definition: p6types.h:40
P6UINT32 P6KMIPFLAGS
P6KMIPFLAGS.
P6R's keystore component to manage keys, certificates, and blobs.
This interface implements Section 5 from the KMIP specification: Server-to-Client Operations...
Definition: p6kmipserver.h:174
virtual P6R::P6ERR stop()=0
Stop the special KMIP server from accepting any incoming connections.
virtual P6R::P6ERR initialize(P6KMIPFLAGS flags, P6UINT32 listenPort, P6UINT32 compatibility, p6IKeystore *pCerts, KMIP_SERVER_REQ pFn, P6VOID *pContext)=0
Sets up the component to run properly.
virtual P6R::P6ERR count(P6UINT32 *pNumber)=0
Return to the caller the total number of items stored in the enumerator.
virtual P6R::P6ERR reset()=0
This method is used to re-start the enumerator at the beginning.
P6R's interface of the DOM parser.
This interface is an enumerator that returns a list of KMIP attribute values.
Definition: p6kmipclient.h:388
P6KMIP_CREDENTIAL.
p6IKMIPStr * pUniqueId
Definition: p6kmipserver.h:85
wchar_t P6WCHAR
Wide character type see p6i18n.h.
Definition: p6types.h:76
p6IKMIPAttribute * pAttribute
Definition: p6kmipserver.h:86
p6IKMIPAttribute * pAttribute
Definition: p6kmipserver.h:105
The base interface all [p6]COM components must derive from and implement.
Definition: p6comdef.h:96
This encoder function defined in this file presents the lower level interface to the generation of KM...
p6IKMIPStr * pReplacedUniqueId
Definition: p6kmipserver.h:103
virtual P6R::P6ERR start()=0
Start the special KMIP server.
P6KMIP_NOTIFYREQ.
Definition: p6kmipserver.h:84
P6KMIP_PUTREQ.
Definition: p6kmipserver.h:100
P6KMIP_MANAGED pushObject
Definition: p6kmipserver.h:104
References 1) OASIS, "Key Management Interoperabilty Protocol Specification 1.2", Working Draft 08...
P6UINT32 P6ERR
COM err return type see P6ERR.h.
Definition: p6types.h:109
#define P6MAXIPADDR
Max legnth of the string representation of an ip address (IPv6 length + terminating NULL)...
Definition: p6types.h:901
P6KMIP_INCOMING_REQUEST.
Definition: p6kmipserver.h:127
Network interfaces and definitions.
P6ERR(* KMIP_SERVER_REQ)(P6VOID *pContext, P6KMIP_INCOMING_REQUEST *pRequest)
KMIP Server Request Callback.
Definition: p6kmipserver.h:160
#define P6COMMETHOD
Definition: p6types.h:872
virtual P6R::P6ERR next(P6KMIP_CREDENTIAL *pAuthenticate)=0
Iterate though one or more returned client provided credentials.
p6IKMIPStr * pUniqueId
Definition: p6kmipserver.h:101
void P6VOID
Definition: p6types.h:75
P6KMIP_MANAGED.
This interface is an enumerator that returns a list of KMIP P6KMIP_CREDENTIAL values.
Definition: p6kmipserver.h:32