mapiproxy/servers/default/emsmdb/oxcprpt.c File Reference

Property and Stream Object routines and Rops. More...

Functions

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopDeleteProperties (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size)
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetPropertiesSpecific (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size)
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetPropertyIdsFromNames (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size)
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopOpenStream (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size)
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopReadStream (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size)
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopSetProperties (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size)
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopWriteStream (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size)
static enum MAPISTATUS RopGetPropertiesSpecific_Mailbox (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct GetProps_req request, struct GetProps_repl *response, void *private_data)
static enum MAPISTATUS RopGetPropertiesSpecific_mapistore (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct GetProps_req request, struct GetProps_repl *response, void *private_data)
static enum MAPISTATUS RopGetPropertiesSpecific_SystemSpecialFolder (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct GetProps_req request, struct GetProps_repl *response, void *private_data)

Detailed Description

Property and Stream Object routines and Rops.


Function Documentation

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopDeleteProperties ( TALLOC_CTX *  mem_ctx,
struct emsmdbp_context emsmdbp_ctx,
struct EcDoRpc_MAPI_REQ *  mapi_req,
struct EcDoRpc_MAPI_REPL *  mapi_repl,
uint32_t *  handles,
uint16_t *  size 
)

EcDoRpc DeleteProperties (0x0b) Rop. This operation deletes property values for an object.

Parameters:
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the DeleteProperties EcDoRpc_MAPI_REQ structure
mapi_replpointer to the DeleteProperties EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References libmapiserver_RopDeleteProperties_size().

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetPropertiesSpecific ( TALLOC_CTX *  mem_ctx,
struct emsmdbp_context emsmdbp_ctx,
struct EcDoRpc_MAPI_REQ *  mapi_req,
struct EcDoRpc_MAPI_REPL *  mapi_repl,
uint32_t *  handles,
uint16_t *  size 
)

EcDoRpc GetPropertiesSpecific (0x07) Rop. This operation retrieves from properties data from specified object.

Parameters:
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the GetPropertiesSpecific EcDoRpc_MAPI_REQ structure
mapi_replpointer to the GetPropertiesSpecific EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References mapi_handles::private_data, emsmdbp_object::object, mapi_handles_search(), emsmdbp_context::handles_ctx, mapi_handles_get_private_data(), emsmdbp_is_mapistore(), emsmdbp_object::type, EMSMDBP_OBJECT_FOLDER, emsmdbp_objects::folder, emsmdbp_object_folder::mapistore_root, RopGetPropertiesSpecific_SystemSpecialFolder(), EMSMDBP_OBJECT_MAILBOX, RopGetPropertiesSpecific_Mailbox(), RopGetPropertiesSpecific_mapistore(), and libmapiserver_RopGetPropertiesSpecific_size().

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetPropertyIdsFromNames ( TALLOC_CTX *  mem_ctx,
struct emsmdbp_context emsmdbp_ctx,
struct EcDoRpc_MAPI_REQ *  mapi_req,
struct EcDoRpc_MAPI_REPL *  mapi_repl,
uint32_t *  handles,
uint16_t *  size 
)

EcDoRpc GetPropertyIdsFromNames (0x56) Rop. This operation gets property IDs for specified property names.

Parameters:
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the GetPropertyIdsFromNames EcDoRpc_MAPI_REQ structure
mapi_replpointer to the GetPropertyIdsFromNames EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_context::mstore_ctx, and libmapiserver_RopGetPropertyIdsFromNames_size().

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopOpenStream ( TALLOC_CTX *  mem_ctx,
struct emsmdbp_context emsmdbp_ctx,
struct EcDoRpc_MAPI_REQ *  mapi_req,
struct EcDoRpc_MAPI_REPL *  mapi_repl,
uint32_t *  handles,
uint16_t *  size 
)

EcDoRpc OpenStream (0x2b) Rop. This operation opens a property for streaming access.

Parameters:
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the OpenStream EcDoRpc_MAPI_REQ structure
mapi_replpointer to the OpenStream EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi response size to update
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References mapi_handles_search(), emsmdbp_context::handles_ctx, mapi_handles_add(), emsmdbp_object_stream_init(), mapi_handles_set_private_data(), and libmapiserver_RopOpenStream_size().

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopReadStream ( TALLOC_CTX *  mem_ctx,
struct emsmdbp_context emsmdbp_ctx,
struct EcDoRpc_MAPI_REQ *  mapi_req,
struct EcDoRpc_MAPI_REPL *  mapi_repl,
uint32_t *  handles,
uint16_t *  size 
)

EcDoRpc ReadStream (0x2c) Rop. This operation reads bytes from a stream.

Parameters:
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the ReadStream EcDoRpc_MAPI_REQ structure
mapi_replpointer to the ReadStream EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi response size to update
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References mapi_handles::private_data, mapi_handles_search(), emsmdbp_context::handles_ctx, mapi_handles_get_private_data(), emsmdbp_object::type, EMSMDBP_OBJECT_STREAM, and libmapiserver_RopReadStream_size().

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopSetProperties ( TALLOC_CTX *  mem_ctx,
struct emsmdbp_context emsmdbp_ctx,
struct EcDoRpc_MAPI_REQ *  mapi_req,
struct EcDoRpc_MAPI_REPL *  mapi_repl,
uint32_t *  handles,
uint16_t *  size 
)

EcDoRpc SetProperties (0x0a) Rop. This operation sets property values for an object.

Parameters:
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the SetProperties EcDoRpc_MAPI_REQ structure
mapi_replpointer to the SetProperties EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References mapi_handles::private_data, emsmdbp_object::object, mapi_handles_search(), emsmdbp_context::handles_ctx, mapi_handles_get_private_data(), emsmdbp_is_mapistore(), emsmdbp_object::type, EMSMDBP_OBJECT_MESSAGE, emsmdbp_context::mstore_ctx, and libmapiserver_RopSetProperties_size().

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopWriteStream ( TALLOC_CTX *  mem_ctx,
struct emsmdbp_context emsmdbp_ctx,
struct EcDoRpc_MAPI_REQ *  mapi_req,
struct EcDoRpc_MAPI_REPL *  mapi_repl,
uint32_t *  handles,
uint16_t *  size 
)

EcDoRpc WriteStream (0x2d) Rop. This operation writes bytes to a stream.

Parameters:
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the WriteStream EcDoRpc_MAPI_REQ structure
mapi_replpointer to the WriteStream EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi response size to update
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References mapi_handles::private_data, mapi_handles_search(), emsmdbp_context::handles_ctx, mapi_handles_get_private_data(), emsmdbp_object::type, EMSMDBP_OBJECT_STREAM, and libmapiserver_RopWriteStream_size().

Referenced by EcDoRpc_process_transaction().

static enum MAPISTATUS RopGetPropertiesSpecific_Mailbox ( TALLOC_CTX *  mem_ctx,
struct emsmdbp_context emsmdbp_ctx,
struct GetProps_req  request,
struct GetProps_repl *  response,
void *  private_data 
) [static]

Retrieve properties on a mailbox object.

Parameters:
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
requestGetProps request
responsepointer to the GetProps reply
private_datapointer to the private data stored for this object
Note:
Mailbox objects have a limited set of supported properties.
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_object::object, emsmdbp_objects::mailbox, emsmdbp_object_mailbox::mailboxstore, openchangedb_get_folder_property(), emsmdbp_context::oc_ctx, emsmdbp_context::szDisplayName, emsmdbp_object_mailbox::folderID, libmapiserver_push_property(), entryid_set_AB_EntryID(), emsmdbp_object_mailbox::szUserDN, emsmdbp_object_mailbox::owner_EssDN, and emsmdbp_object_mailbox::owner_Name.

Referenced by EcDoRpc_RopGetPropertiesSpecific().

static enum MAPISTATUS RopGetPropertiesSpecific_mapistore ( TALLOC_CTX *  mem_ctx,
struct emsmdbp_context emsmdbp_ctx,
struct GetProps_req  request,
struct GetProps_repl *  response,
void *  private_data 
) [static]

Retrieve properties on a mapistore object

Parameters:
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
requestGetProps request
responsepointer to the GetProps reply
private_datapointer tot eh private data stored for this object
Note:
We do not handle anything yet. This is just a skeleton.
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_object::object, emsmdbp_object::type, EMSMDBP_OBJECT_FOLDER, EMSMDBP_OBJECT_MESSAGE, emsmdbp_context::mstore_ctx, and libmapiserver_push_property().

Referenced by EcDoRpc_RopGetPropertiesSpecific().

static enum MAPISTATUS RopGetPropertiesSpecific_SystemSpecialFolder ( TALLOC_CTX *  mem_ctx,
struct emsmdbp_context emsmdbp_ctx,
struct GetProps_req  request,
struct GetProps_repl *  response,
void *  private_data 
) [static]

Retrieve properties on a systemfolder object.

Parameters:
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
requestGetProps request
responsepointer to the GetProps reply
private_datapointer to the private data stored for this object
private_datapointer to the private data stored for this object
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_object::object, emsmdbp_objects::folder, openchangedb_lookup_folder_property(), emsmdbp_context::oc_ctx, emsmdbp_object_folder::folderID, openchangedb_get_folder_property(), emsmdbp_context::szDisplayName, and libmapiserver_push_property().

Referenced by EcDoRpc_RopGetPropertiesSpecific().


Creative Commons License
Creative Commons Attribution icon Creative Commons Share Alike icon
This content is licensed under the Creative Commons
Attribution ShareAlike License v. 3.0:
http://creativecommons.org/licenses/by-sa/3.0/