Browse Source

key_compromized() added into IMessageAPI_Outlook

COM-121
Volker Birk 6 years ago
parent
commit
4197132c39
6 changed files with 262 additions and 71 deletions
  1. +25
    -0
      CpEpEngine.cpp
  2. +5
    -1
      CpEpEngine.h
  3. +2
    -0
      dlldata.c
  4. +61
    -24
      pEpCOMServerAdapter.idl
  5. +4
    -1
      pEpCOMServerAdapter_i.c
  6. +165
    -45
      pEpCOMServerAdapter_i.h

+ 25
- 0
CpEpEngine.cpp View File

@ -896,6 +896,31 @@ STDMETHODIMP CpEpEngine::update_identity(struct pEp_identity_s *ident, struct pE
}
}
STDMETHODIMP CpEpEngine::key_compromized(BSTR fpr)
{
assert(fpr);
if (fpr == NULL)
return E_INVALIDARG;
string _fpr = utf8_string(fpr);
if (_fpr.length() == 0)
return E_INVALIDARG;
PEP_STATUS status = ::key_compromized(get_session(), _fpr.c_str());
assert(status != PEP_OUT_OF_MEMORY);
if (status == PEP_OUT_OF_MEMORY)
return E_OUTOFMEMORY;
if (status == PEP_KEY_NOT_FOUND)
return FAIL(L"key not found");
if (status != ::PEP_STATUS_OK)
return FAIL(L"revoke compromized key");
return S_OK;
}
::pEp_identity * CpEpEngine::retrieve_next_identity(void *management)
{
assert(management);


+ 5
- 1
CpEpEngine.h View File

@ -28,7 +28,8 @@ class ATL_NO_VTABLE CpEpEngine :
public ISupportErrorInfo,
public IConnectionPointContainerImpl<CpEpEngine>,
public CProxy_IpEpEngineEvents<CpEpEngine>,
public IpEpEngine
public IpEpEngine,
public IMessageAPI_Outlook
{
public:
CpEpEngine()
@ -192,6 +193,9 @@ public:
STDMETHOD(verify)(BSTR text, BSTR signature, LPSAFEARRAY * key_list, pEp_STATUS * verify_status);
STDMETHOD(myself)(struct pEp_identity_s *ident, struct pEp_identity_s *result);
STDMETHOD(update_identity)(struct pEp_identity_s *ident, struct pEp_identity_s *result);
// IMessageAPI_Outlook
STDMETHOD(key_compromized)(BSTR fpr);
};
OBJECT_ENTRY_AUTO(__uuidof(pEpEngine), CpEpEngine)

+ 2
- 0
dlldata.c View File

@ -18,11 +18,13 @@
extern "C" {
#endif
EXTERN_PROXY_FILE( MessageAPI )
EXTERN_PROXY_FILE( pEpCOMServerAdapter )
PROXYFILE_LIST_START
/* Start of list */
REFERENCE_PROXY_FILE( MessageAPI ),
REFERENCE_PROXY_FILE( pEpCOMServerAdapter ),
/* End of list */
PROXYFILE_LIST_END


+ 61
- 24
pEpCOMServerAdapter.idl View File

@ -7,7 +7,6 @@
import "oaidl.idl";
import "ocidl.idl";
[
object,
uuid(9A9F4422-CF0A-45D7-90CD-1D1B7B2A4540),
@ -39,14 +38,14 @@ interface IpEpEngine : IUnknown {
pEp_UNKNOWN_ERROR = -1
} pEp_STATUS;
[id(1)] HRESULT log([in] BSTR title, [in] BSTR entity, [in, defaultvalue("")] BSTR description, [in, defaultvalue("")] BSTR comment);
[id(2)] HRESULT decrypt([in] BSTR ctext, [out] BSTR * ptext, [out] SAFEARRAY(BSTR) * key_list, [out, retval] pEp_STATUS * decrypt_status);
[id(3)] HRESULT decrypt_b([in] BSTR ctext, [out] SAFEARRAY(BYTE) * ptext, [out] SAFEARRAY(BSTR) * key_list, [out, retval] pEp_STATUS * decrypt_status);
[id(4)] HRESULT encrypt([in] SAFEARRAY(BSTR) key_list, [in] BSTR ptext, [out] BSTR * ctext, [out, retval] pEp_STATUS * status);
[id(5)] HRESULT encrypt_b([in] SAFEARRAY(BSTR) key_list, [in] SAFEARRAY(BYTE) ptext, [out] BSTR * ctext, [out, retval] pEp_STATUS * status);
[id(21)] HRESULT verify([in] BSTR text, [in] BSTR signature, [out] SAFEARRAY(BSTR) * key_list, [out, retval] pEp_STATUS * verify_status);
[id(6)] HRESULT safeword([in] LONG value, [in, defaultvalue("en")] BSTR lang, [out, retval] BSTR * word);
[id(7)] HRESULT safewords([in] BSTR fpr, [in, defaultvalue("en")] BSTR lang, [in, defaultvalue(0)] LONG max_words, [out, retval] BSTR * words);
HRESULT log([in] BSTR title, [in] BSTR entity, [in, defaultvalue("")] BSTR description, [in, defaultvalue("")] BSTR comment);
HRESULT decrypt([in] BSTR ctext, [out] BSTR * ptext, [out] SAFEARRAY(BSTR) * key_list, [out, retval] pEp_STATUS * decrypt_status);
HRESULT decrypt_b([in] BSTR ctext, [out] SAFEARRAY(BYTE) * ptext, [out] SAFEARRAY(BSTR) * key_list, [out, retval] pEp_STATUS * decrypt_status);
HRESULT encrypt([in] SAFEARRAY(BSTR) key_list, [in] BSTR ptext, [out] BSTR * ctext, [out, retval] pEp_STATUS * status);
HRESULT encrypt_b([in] SAFEARRAY(BSTR) key_list, [in] SAFEARRAY(BYTE) ptext, [out] BSTR * ctext, [out, retval] pEp_STATUS * status);
HRESULT verify([in] BSTR text, [in] BSTR signature, [out] SAFEARRAY(BSTR) * key_list, [out, retval] pEp_STATUS * verify_status);
HRESULT safeword([in] LONG value, [in, defaultvalue("en")] BSTR lang, [out, retval] BSTR * word);
HRESULT safewords([in] BSTR fpr, [in, defaultvalue("en")] BSTR lang, [in, defaultvalue(0)] LONG max_words, [out, retval] BSTR * words);
typedef enum _pEp_comm_type {
pEp_ct_unknown = 0,
@ -103,22 +102,59 @@ interface IpEpEngine : IUnknown {
BSTR lang;
};
[id(8)] HRESULT get_identity([in] BSTR address, [out, retval] struct pEp_identity_s * ident);
[id(9)] HRESULT set_identity([in] struct pEp_identity_s * ident);
[id(10)] HRESULT generate_keypair([in] struct pEp_identity_s * ident, [out, retval] BSTR * fpr);
[id(11)] HRESULT delete_keypair([in] BSTR fpr);
[id(12)] HRESULT import_key([in] BSTR key_data);
[id(13)] HRESULT import_key_b([in] SAFEARRAY(BYTE) key_data);
[id(14)] HRESULT export_key([in] BSTR fpr, [out, retval] BSTR * key_data);
[id(15)] HRESULT recv_key([in] BSTR pattern);
[id(16)] HRESULT find_keys([in] BSTR pattern, [out, retval] SAFEARRAY(BSTR) * key_list);
[id(17)] HRESULT send_key([in] BSTR pattern);
[id(19)] HRESULT examine_identity([in] struct pEp_identity_s * ident);
[id(20)] HRESULT examine_myself([in] struct pEp_identity_s * myself);
[id(22)] HRESULT myself([in] struct pEp_identity_s *ident, [out, retval] struct pEp_identity_s *result);
[id(23)] HRESULT update_identity([in] struct pEp_identity_s *ident, [out, retval] struct pEp_identity_s *result);
HRESULT get_identity([in] BSTR address, [out, retval] struct pEp_identity_s * ident);
HRESULT set_identity([in] struct pEp_identity_s * ident);
HRESULT generate_keypair([in] struct pEp_identity_s * ident, [out, retval] BSTR * fpr);
HRESULT delete_keypair([in] BSTR fpr);
HRESULT import_key([in] BSTR key_data);
HRESULT import_key_b([in] SAFEARRAY(BYTE) key_data);
HRESULT export_key([in] BSTR fpr, [out, retval] BSTR * key_data);
HRESULT recv_key([in] BSTR pattern);
HRESULT find_keys([in] BSTR pattern, [out, retval] SAFEARRAY(BSTR) * key_list);
HRESULT send_key([in] BSTR pattern);
HRESULT examine_identity([in] struct pEp_identity_s * ident);
HRESULT examine_myself([in] struct pEp_identity_s * myself);
HRESULT myself([in] struct pEp_identity_s *ident, [out, retval] struct pEp_identity_s *result);
HRESULT update_identity([in] struct pEp_identity_s *ident, [out, retval] struct pEp_identity_s *result);
};
[
object,
uuid(BC9AB54D-2CDA-47A5-AB40-64857B9E9555),
oleautomation,
nonextensible,
pointer_default(unique)
]
interface IMessageAPI_Outlook : IUnknown {
typedef enum _pEp_text_format {
pEp_text_format_plain = 0,
pEp_text_format_html,
pEp_text_format_other = 0xff
} pEp_text_format;
typedef enum _pEp_msg_direction {
pEp_dir_incoming = 0,
pEp_dir_outgoing
} pEp_msg_direction;
typedef enum _pEp_MIME_format {
pEp_MIME_none = 0, // message is not MIME encoded
pEp_MIME_fields_omitted, // message content but no fields
pEp_MIME // message is fully MIME encoded
} pEp_MIME_format;
typedef enum _pEp_enc_format {
pEp_enc_none = 0, // message is not encrypted
pEp_enc_pieces, // inline PGP + PGP extensions
pEp_enc_S_MIME, // RFC5751
pEp_enc_PGP_MIME, // RFC3156
pEp_enc_pEp // pEp encryption format
} pEp_enc_format;
HRESULT key_compromized([in] BSTR fpr);
};
[
uuid(3EC2E1A4-40E8-48E4-A7B0-1876D34F9462),
version(1.0),
@ -140,6 +176,7 @@ library pEpCOMServerAdapterLib
coclass pEpEngine {
[default] interface IpEpEngine;
[default, source] dispinterface _IpEpEngineEvents;
interface IMessageAPI_Outlook;
};
};

+ 4
- 1
pEpCOMServerAdapter_i.c View File

@ -6,7 +6,7 @@
/* File created by MIDL compiler version 8.00.0603 */
/* at Thu Apr 16 16:43:32 2015
/* at Thu Apr 23 19:17:16 2015
*/
/* Compiler settings for pEpCOMServerAdapter.idl:
Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.00.0603
@ -70,6 +70,9 @@ typedef IID CLSID;
MIDL_DEFINE_GUID(IID, IID_IpEpEngine,0x9A9F4422,0xCF0A,0x45D7,0x90,0xCD,0x1D,0x1B,0x7B,0x2A,0x45,0x40);
MIDL_DEFINE_GUID(IID, IID_IMessageAPI_Outlook,0xBC9AB54D,0x2CDA,0x47A5,0xAB,0x40,0x64,0x85,0x7B,0x9E,0x95,0x55);
MIDL_DEFINE_GUID(IID, LIBID_pEpCOMServerAdapterLib,0x3EC2E1A4,0x40E8,0x48E4,0xA7,0xB0,0x18,0x76,0xD3,0x4F,0x94,0x62);


+ 165
- 45
pEpCOMServerAdapter_i.h View File

@ -4,7 +4,7 @@
/* File created by MIDL compiler version 8.00.0603 */
/* at Thu Apr 16 16:43:32 2015
/* at Thu Apr 23 19:17:16 2015
*/
/* Compiler settings for pEpCOMServerAdapter.idl:
Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.00.0603
@ -52,6 +52,13 @@ typedef interface IpEpEngine IpEpEngine;
#endif /* __IpEpEngine_FWD_DEFINED__ */
#ifndef __IMessageAPI_Outlook_FWD_DEFINED__
#define __IMessageAPI_Outlook_FWD_DEFINED__
typedef interface IMessageAPI_Outlook IMessageAPI_Outlook;
#endif /* __IMessageAPI_Outlook_FWD_DEFINED__ */
#ifndef ___IpEpEngineEvents_FWD_DEFINED__
#define ___IpEpEngineEvents_FWD_DEFINED__
typedef interface _IpEpEngineEvents _IpEpEngineEvents;
@ -154,98 +161,98 @@ EXTERN_C const IID IID_IpEpEngine;
IpEpEngine : public IUnknown
{
public:
virtual /* [id] */ HRESULT STDMETHODCALLTYPE log(
virtual HRESULT STDMETHODCALLTYPE log(
/* [in] */ BSTR title,
/* [in] */ BSTR entity,
/* [defaultvalue][in] */ BSTR description = L"",
/* [defaultvalue][in] */ BSTR comment = L"") = 0;
virtual /* [id] */ HRESULT STDMETHODCALLTYPE decrypt(
virtual HRESULT STDMETHODCALLTYPE decrypt(
/* [in] */ BSTR ctext,
/* [out] */ BSTR *ptext,
/* [out] */ SAFEARRAY * *key_list,
/* [retval][out] */ pEp_STATUS *decrypt_status) = 0;
virtual /* [id] */ HRESULT STDMETHODCALLTYPE decrypt_b(
virtual HRESULT STDMETHODCALLTYPE decrypt_b(
/* [in] */ BSTR ctext,
/* [out] */ SAFEARRAY * *ptext,
/* [out] */ SAFEARRAY * *key_list,
/* [retval][out] */ pEp_STATUS *decrypt_status) = 0;
virtual /* [id] */ HRESULT STDMETHODCALLTYPE encrypt(
virtual HRESULT STDMETHODCALLTYPE encrypt(
/* [in] */ SAFEARRAY * key_list,
/* [in] */ BSTR ptext,
/* [out] */ BSTR *ctext,
/* [retval][out] */ pEp_STATUS *status) = 0;
virtual /* [id] */ HRESULT STDMETHODCALLTYPE encrypt_b(
virtual HRESULT STDMETHODCALLTYPE encrypt_b(
/* [in] */ SAFEARRAY * key_list,
/* [in] */ SAFEARRAY * ptext,
/* [out] */ BSTR *ctext,
/* [retval][out] */ pEp_STATUS *status) = 0;
virtual /* [id] */ HRESULT STDMETHODCALLTYPE verify(
virtual HRESULT STDMETHODCALLTYPE verify(
/* [in] */ BSTR text,
/* [in] */ BSTR signature,
/* [out] */ SAFEARRAY * *key_list,
/* [retval][out] */ pEp_STATUS *verify_status) = 0;
virtual /* [id] */ HRESULT STDMETHODCALLTYPE safeword(
virtual HRESULT STDMETHODCALLTYPE safeword(
/* [in] */ LONG value,
/* [defaultvalue][in] */ BSTR lang,
/* [retval][out] */ BSTR *word) = 0;
virtual /* [id] */ HRESULT STDMETHODCALLTYPE safewords(
virtual HRESULT STDMETHODCALLTYPE safewords(
/* [in] */ BSTR fpr,
/* [defaultvalue][in] */ BSTR lang,
/* [defaultvalue][in] */ LONG max_words,
/* [retval][out] */ BSTR *words) = 0;
virtual /* [id] */ HRESULT STDMETHODCALLTYPE get_identity(
virtual HRESULT STDMETHODCALLTYPE get_identity(
/* [in] */ BSTR address,
/* [retval][out] */ struct pEp_identity_s *ident) = 0;
virtual /* [id] */ HRESULT STDMETHODCALLTYPE set_identity(
virtual HRESULT STDMETHODCALLTYPE set_identity(
/* [in] */ struct pEp_identity_s *ident) = 0;
virtual /* [id] */ HRESULT STDMETHODCALLTYPE generate_keypair(
virtual HRESULT STDMETHODCALLTYPE generate_keypair(
/* [in] */ struct pEp_identity_s *ident,
/* [retval][out] */ BSTR *fpr) = 0;
virtual /* [id] */ HRESULT STDMETHODCALLTYPE delete_keypair(
virtual HRESULT STDMETHODCALLTYPE delete_keypair(
/* [in] */ BSTR fpr) = 0;
virtual /* [id] */ HRESULT STDMETHODCALLTYPE import_key(
virtual HRESULT STDMETHODCALLTYPE import_key(
/* [in] */ BSTR key_data) = 0;
virtual /* [id] */ HRESULT STDMETHODCALLTYPE import_key_b(
virtual HRESULT STDMETHODCALLTYPE import_key_b(
/* [in] */ SAFEARRAY * key_data) = 0;
virtual /* [id] */ HRESULT STDMETHODCALLTYPE export_key(
virtual HRESULT STDMETHODCALLTYPE export_key(
/* [in] */ BSTR fpr,
/* [retval][out] */ BSTR *key_data) = 0;
virtual /* [id] */ HRESULT STDMETHODCALLTYPE recv_key(
virtual HRESULT STDMETHODCALLTYPE recv_key(
/* [in] */ BSTR pattern) = 0;
virtual /* [id] */ HRESULT STDMETHODCALLTYPE find_keys(
virtual HRESULT STDMETHODCALLTYPE find_keys(
/* [in] */ BSTR pattern,
/* [retval][out] */ SAFEARRAY * *key_list) = 0;
virtual /* [id] */ HRESULT STDMETHODCALLTYPE send_key(
virtual HRESULT STDMETHODCALLTYPE send_key(
/* [in] */ BSTR pattern) = 0;
virtual /* [id] */ HRESULT STDMETHODCALLTYPE examine_identity(
virtual HRESULT STDMETHODCALLTYPE examine_identity(
/* [in] */ struct pEp_identity_s *ident) = 0;
virtual /* [id] */ HRESULT STDMETHODCALLTYPE examine_myself(
virtual HRESULT STDMETHODCALLTYPE examine_myself(
/* [in] */ struct pEp_identity_s *myself) = 0;
virtual /* [id] */ HRESULT STDMETHODCALLTYPE myself(
virtual HRESULT STDMETHODCALLTYPE myself(
/* [in] */ struct pEp_identity_s *ident,
/* [retval][out] */ struct pEp_identity_s *result) = 0;
virtual /* [id] */ HRESULT STDMETHODCALLTYPE update_identity(
virtual HRESULT STDMETHODCALLTYPE update_identity(
/* [in] */ struct pEp_identity_s *ident,
/* [retval][out] */ struct pEp_identity_s *result) = 0;
@ -270,119 +277,119 @@ EXTERN_C const IID IID_IpEpEngine;
ULONG ( STDMETHODCALLTYPE *Release )(
IpEpEngine * This);
/* [id] */ HRESULT ( STDMETHODCALLTYPE *log )(
HRESULT ( STDMETHODCALLTYPE *log )(
IpEpEngine * This,
/* [in] */ BSTR title,
/* [in] */ BSTR entity,
/* [defaultvalue][in] */ BSTR description,
/* [defaultvalue][in] */ BSTR comment);
/* [id] */ HRESULT ( STDMETHODCALLTYPE *decrypt )(
HRESULT ( STDMETHODCALLTYPE *decrypt )(
IpEpEngine * This,
/* [in] */ BSTR ctext,
/* [out] */ BSTR *ptext,
/* [out] */ SAFEARRAY * *key_list,
/* [retval][out] */ pEp_STATUS *decrypt_status);
/* [id] */ HRESULT ( STDMETHODCALLTYPE *decrypt_b )(
HRESULT ( STDMETHODCALLTYPE *decrypt_b )(
IpEpEngine * This,
/* [in] */ BSTR ctext,
/* [out] */ SAFEARRAY * *ptext,
/* [out] */ SAFEARRAY * *key_list,
/* [retval][out] */ pEp_STATUS *decrypt_status);
/* [id] */ HRESULT ( STDMETHODCALLTYPE *encrypt )(
HRESULT ( STDMETHODCALLTYPE *encrypt )(
IpEpEngine * This,
/* [in] */ SAFEARRAY * key_list,
/* [in] */ BSTR ptext,
/* [out] */ BSTR *ctext,
/* [retval][out] */ pEp_STATUS *status);
/* [id] */ HRESULT ( STDMETHODCALLTYPE *encrypt_b )(
HRESULT ( STDMETHODCALLTYPE *encrypt_b )(
IpEpEngine * This,
/* [in] */ SAFEARRAY * key_list,
/* [in] */ SAFEARRAY * ptext,
/* [out] */ BSTR *ctext,
/* [retval][out] */ pEp_STATUS *status);
/* [id] */ HRESULT ( STDMETHODCALLTYPE *verify )(
HRESULT ( STDMETHODCALLTYPE *verify )(
IpEpEngine * This,
/* [in] */ BSTR text,
/* [in] */ BSTR signature,
/* [out] */ SAFEARRAY * *key_list,
/* [retval][out] */ pEp_STATUS *verify_status);
/* [id] */ HRESULT ( STDMETHODCALLTYPE *safeword )(
HRESULT ( STDMETHODCALLTYPE *safeword )(
IpEpEngine * This,
/* [in] */ LONG value,
/* [defaultvalue][in] */ BSTR lang,
/* [retval][out] */ BSTR *word);
/* [id] */ HRESULT ( STDMETHODCALLTYPE *safewords )(
HRESULT ( STDMETHODCALLTYPE *safewords )(
IpEpEngine * This,
/* [in] */ BSTR fpr,
/* [defaultvalue][in] */ BSTR lang,
/* [defaultvalue][in] */ LONG max_words,
/* [retval][out] */ BSTR *words);
/* [id] */ HRESULT ( STDMETHODCALLTYPE *get_identity )(
HRESULT ( STDMETHODCALLTYPE *get_identity )(
IpEpEngine * This,
/* [in] */ BSTR address,
/* [retval][out] */ struct pEp_identity_s *ident);
/* [id] */ HRESULT ( STDMETHODCALLTYPE *set_identity )(
HRESULT ( STDMETHODCALLTYPE *set_identity )(
IpEpEngine * This,
/* [in] */ struct pEp_identity_s *ident);
/* [id] */ HRESULT ( STDMETHODCALLTYPE *generate_keypair )(
HRESULT ( STDMETHODCALLTYPE *generate_keypair )(
IpEpEngine * This,
/* [in] */ struct pEp_identity_s *ident,
/* [retval][out] */ BSTR *fpr);
/* [id] */ HRESULT ( STDMETHODCALLTYPE *delete_keypair )(
HRESULT ( STDMETHODCALLTYPE *delete_keypair )(
IpEpEngine * This,
/* [in] */ BSTR fpr);
/* [id] */ HRESULT ( STDMETHODCALLTYPE *import_key )(
HRESULT ( STDMETHODCALLTYPE *import_key )(
IpEpEngine * This,
/* [in] */ BSTR key_data);
/* [id] */ HRESULT ( STDMETHODCALLTYPE *import_key_b )(
HRESULT ( STDMETHODCALLTYPE *import_key_b )(
IpEpEngine * This,
/* [in] */ SAFEARRAY * key_data);
/* [id] */ HRESULT ( STDMETHODCALLTYPE *export_key )(
HRESULT ( STDMETHODCALLTYPE *export_key )(
IpEpEngine * This,
/* [in] */ BSTR fpr,
/* [retval][out] */ BSTR *key_data);
/* [id] */ HRESULT ( STDMETHODCALLTYPE *recv_key )(
HRESULT ( STDMETHODCALLTYPE *recv_key )(
IpEpEngine * This,
/* [in] */ BSTR pattern);
/* [id] */ HRESULT ( STDMETHODCALLTYPE *find_keys )(
HRESULT ( STDMETHODCALLTYPE *find_keys )(
IpEpEngine * This,
/* [in] */ BSTR pattern,
/* [retval][out] */ SAFEARRAY * *key_list);
/* [id] */ HRESULT ( STDMETHODCALLTYPE *send_key )(
HRESULT ( STDMETHODCALLTYPE *send_key )(
IpEpEngine * This,
/* [in] */ BSTR pattern);
/* [id] */ HRESULT ( STDMETHODCALLTYPE *examine_identity )(
HRESULT ( STDMETHODCALLTYPE *examine_identity )(
IpEpEngine * This,
/* [in] */ struct pEp_identity_s *ident);
/* [id] */ HRESULT ( STDMETHODCALLTYPE *examine_myself )(
HRESULT ( STDMETHODCALLTYPE *examine_myself )(
IpEpEngine * This,
/* [in] */ struct pEp_identity_s *myself);
/* [id] */ HRESULT ( STDMETHODCALLTYPE *myself )(
HRESULT ( STDMETHODCALLTYPE *myself )(
IpEpEngine * This,
/* [in] */ struct pEp_identity_s *ident,
/* [retval][out] */ struct pEp_identity_s *result);
/* [id] */ HRESULT ( STDMETHODCALLTYPE *update_identity )(
HRESULT ( STDMETHODCALLTYPE *update_identity )(
IpEpEngine * This,
/* [in] */ struct pEp_identity_s *ident,
/* [retval][out] */ struct pEp_identity_s *result);
@ -487,6 +494,119 @@ EXTERN_C const IID IID_IpEpEngine;
#endif /* __IpEpEngine_INTERFACE_DEFINED__ */
#ifndef __IMessageAPI_Outlook_INTERFACE_DEFINED__
#define __IMessageAPI_Outlook_INTERFACE_DEFINED__
/* interface IMessageAPI_Outlook */
/* [unique][nonextensible][oleautomation][uuid][object] */
typedef
enum _pEp_text_format
{
pEp_text_format_plain = 0,
pEp_text_format_html = ( pEp_text_format_plain + 1 ) ,
pEp_text_format_other = 0xff
} pEp_text_format;
typedef
enum _pEp_msg_direction
{
pEp_dir_incoming = 0,
pEp_dir_outgoing = ( pEp_dir_incoming + 1 )
} pEp_msg_direction;
typedef
enum _pEp_MIME_format
{
pEp_MIME_none = 0,
pEp_MIME_fields_omitted = ( pEp_MIME_none + 1 ) ,
pEp_MIME = ( pEp_MIME_fields_omitted + 1 )
} pEp_MIME_format;
typedef
enum _pEp_enc_format
{
pEp_enc_none = 0,
pEp_enc_pieces = ( pEp_enc_none + 1 ) ,
pEp_enc_S_MIME = ( pEp_enc_pieces + 1 ) ,
pEp_enc_PGP_MIME = ( pEp_enc_S_MIME + 1 ) ,
pEp_enc_pEp = ( pEp_enc_PGP_MIME + 1 )
} pEp_enc_format;
EXTERN_C const IID IID_IMessageAPI_Outlook;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("BC9AB54D-2CDA-47A5-AB40-64857B9E9555")
IMessageAPI_Outlook : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE key_compromized(
/* [in] */ BSTR fpr) = 0;
};
#else /* C style interface */
typedef struct IMessageAPI_OutlookVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMessageAPI_Outlook * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMessageAPI_Outlook * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMessageAPI_Outlook * This);
HRESULT ( STDMETHODCALLTYPE *key_compromized )(
IMessageAPI_Outlook * This,
/* [in] */ BSTR fpr);
END_INTERFACE
} IMessageAPI_OutlookVtbl;
interface IMessageAPI_Outlook
{
CONST_VTBL struct IMessageAPI_OutlookVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMessageAPI_Outlook_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMessageAPI_Outlook_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMessageAPI_Outlook_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMessageAPI_Outlook_key_compromized(This,fpr) \
( (This)->lpVtbl -> key_compromized(This,fpr) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMessageAPI_Outlook_INTERFACE_DEFINED__ */
#ifndef __pEpCOMServerAdapterLib_LIBRARY_DEFINED__
#define __pEpCOMServerAdapterLib_LIBRARY_DEFINED__


Loading…
Cancel
Save