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 emsmdbp_is_mapistore(), EMSMDBP_OBJECT_FOLDER, EMSMDBP_OBJECT_MAILBOX, emsmdbp_objects::folder, emsmdbp_context::handles_ctx, libmapiserver_RopGetPropertiesSpecific_size(), mapi_handles_get_private_data(), mapi_handles_search(), emsmdbp_object_folder::mapistore_root, emsmdbp_object::object, mapi_handles::private_data, RopGetPropertiesSpecific_Mailbox(), RopGetPropertiesSpecific_mapistore(), RopGetPropertiesSpecific_SystemSpecialFolder(), and emsmdbp_object::type.

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 libmapiserver_RopGetPropertyIdsFromNames_size(), and emsmdbp_context::mstore_ctx.

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 emsmdbp_object_stream_init(), emsmdbp_context::handles_ctx, libmapiserver_RopOpenStream_size(), mapi_handles_add(), mapi_handles_search(), and mapi_handles_set_private_data().

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 EMSMDBP_OBJECT_STREAM, emsmdbp_context::handles_ctx, libmapiserver_RopReadStream_size(), mapi_handles_get_private_data(), mapi_handles_search(), mapi_handles::private_data, and emsmdbp_object::type.

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 emsmdbp_is_mapistore(), EMSMDBP_OBJECT_MESSAGE, emsmdbp_context::handles_ctx, libmapiserver_RopSetProperties_size(), mapi_handles_get_private_data(), mapi_handles_search(), emsmdbp_context::mstore_ctx, emsmdbp_object::object, mapi_handles::private_data, and emsmdbp_object::type.

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 EMSMDBP_OBJECT_STREAM, emsmdbp_context::handles_ctx, libmapiserver_RopWriteStream_size(), mapi_handles_get_private_data(), mapi_handles_search(), mapi_handles::private_data, and emsmdbp_object::type.

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 entryid_set_AB_EntryID(), emsmdbp_object_mailbox::folderID, libmapiserver_push_property(), emsmdbp_objects::mailbox, emsmdbp_object_mailbox::mailboxstore, emsmdbp_object::object, emsmdbp_context::oc_ctx, openchangedb_get_folder_property(), emsmdbp_object_mailbox::owner_EssDN, emsmdbp_object_mailbox::owner_Name, emsmdbp_context::szDisplayName, and emsmdbp_object_mailbox::szUserDN.

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_FOLDER, EMSMDBP_OBJECT_MESSAGE, libmapiserver_push_property(), emsmdbp_context::mstore_ctx, emsmdbp_object::object, and emsmdbp_object::type.

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_objects::folder, emsmdbp_object_folder::folderID, libmapiserver_push_property(), emsmdbp_object::object, emsmdbp_context::oc_ctx, openchangedb_get_folder_property(), openchangedb_lookup_folder_property(), and emsmdbp_context::szDisplayName.

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/