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

Folder object routines and Rops. More...

#include "mapiproxy/dcesrv_mapiproxy.h"
#include "mapiproxy/libmapiproxy/libmapiproxy.h"
#include "mapiproxy/libmapiserver/libmapiserver.h"
#include "dcesrv_exchange_emsmdb.h"

Functions

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopCreateFolder (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_RopDeleteFolder (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_RopDeleteMessages (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_RopEmptyFolder (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_RopGetContentsTable (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_RopGetHierarchyTable (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_RopGetSearchCriteria (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_RopOpenFolder (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_RopSetSearchCriteria (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 RopOpenFolder_SystemSpecialFolder (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct OpenFolder_req request, struct OpenFolder_repl *response)

Detailed Description

Folder object routines and Rops.


Function Documentation

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopCreateFolder ( 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 CreateFolder (0x1c) Rop. This operation creates a folder on the remote server.

Parameters:
mem_ctx pointer to the memory context
emsmdbp_ctx pointer to the emsmdb provider context
mapi_req pointer to the CreateFolder EcDoRpc_MAPI_REQ structure
mapi_repl pointer to the CreateFolder EcDoRpc_MAPI_REPL structure
handles pointer to the MAPI handles array
size pointer to the mapi_response size to update
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error
Note:
We do not provide support for GhostInfo

References emsmdbp_is_mapistore(), emsmdbp_object_folder_init(), libmapiserver_ROP_request_to_properties(), libmapiserver_RopCreateFolder_size(), mapi_handles_add(), mapi_handles_get_private_data(), mapi_handles_search(), and mapi_handles_set_private_data().

Referenced by dcesrv_EcDoRpc().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopDeleteFolder ( 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 DeleteFolder (0x1d) Rop. This operation deletes a folder on the remote server.

Parameters:
mem_ctx pointer to the memory context
emsmdbp_ctx pointer to the emsmdb provider context
mapi_req pointer to the DeleteFolder EcDoRpc_MAPI_REQ structure
mapi_repl pointer to the DeleteFolder EcDoRpc_MAPI_REPL structure
handles pointer to the MAPI handles array
size pointer to the mapi_response size to update
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_is_mapistore(), libmapiserver_RopDeleteFolder_size(), mapi_handles_get_private_data(), and mapi_handles_search().

Referenced by dcesrv_EcDoRpc().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopDeleteMessages ( 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 DeleteMessage (0x1e) Rop. This operation (soft) deletes a message on the server.

Parameters:
mem_ctx pointer to the memory context
emsmdbp_ctx pointer to the emsmdb provider context
mapi_req pointer to the DeleteMessage EcDoRpc_MAPI_REQ structure
mapi_repl pointer to the DeleteMessage EcDoRpc_MAPI_REPL structure
handles pointer to the MAPI handles array
size pointer to the mapi_response size to update
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_is_mapistore(), libmapiserver_RopDeleteMessage_size(), mapi_handles_get_private_data(), mapi_handles_search(), and MAPISTORE_SUCCESS.

Referenced by dcesrv_EcDoRpc().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopEmptyFolder ( 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 EmptyFolder (0x58) Rop. This operation removes the sub-folders and messages from a given parent folder.

Parameters:
mem_ctx pointer to the memory context
emsmdbp_ctx pointer to the emsmdb provider context
mapi_req pointer to the EmptyFolder EcDoRpc_MAPI_REQ structure
mapi_repl pointer to the EmptyFolder EcDoRpc_MAPI_REPL structure
handles pointer to the MAPI handles array
size pointer to the mapi_response size to update
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_is_mapistore(), libmapiserver_RopEmptyFolder_size(), and mapi_handles_search().

Referenced by dcesrv_EcDoRpc().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetContentsTable ( 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 GetContentsTable (0x05) Rop. This operation get the content table of a container.

Parameters:
mem_ctx pointer to the memory context
emsmdbp_ctx pointer to the emsmdb provider context
mapi_req pointer to the GetContentsTable EcDoRpc_MAPI_REQ structure
mapi_repl pointer to the GetContentsTable EcDoRpc_MAPI_REPL structure
handles pointer to the MAPI handles array
size pointer to the mapi_response size to update
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_is_mapistore(), emsmdbp_object_table_init(), libmapiserver_RopGetContentsTable_size(), mapi_handles_add(), mapi_handles_get_private_data(), mapi_handles_search(), and mapi_handles_set_private_data().

Referenced by dcesrv_EcDoRpc().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetHierarchyTable ( 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 GetHierarchyTable (0x04) Rop. This operation gets the subfolder hierarchy table for a folder.

Parameters:
mem_ctx pointer to the memory context
emsmdbp_ctx pointer to the emsmdb provider context
mapi_req pointer to the GetHierarchyTable EcDoRpc_MAPI_REQ structure
mapi_repl pointer to the GetHierarchyTable EcDoRpc_MAPI_REPL structure
handles pointer to the MAPI handles array
size pointer to the mapi_response size to update
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_is_mapistore(), emsmdbp_object_table_init(), libmapiserver_RopGetHierarchyTable_size(), mapi_handles_add(), mapi_handles_get_private_data(), mapi_handles_search(), mapi_handles_set_private_data(), and openchangedb_get_folder_count().

Referenced by dcesrv_EcDoRpc().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetSearchCriteria ( 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 GetSearchCriteria (0x31) Rop. This operation gets the search criteria for a search folder.

Parameters:
mem_ctx pointer to the memory context
emsmdbp_ctx pointer to the emsmdb provider context
mapi_req pointer to the GetSearchCriteria EcDoRpc_MAPI_REQ structure
mapi_repl pointer to the GetSearchCriteria EcDoRpc_MAPI_REPL structure
handles pointer to the MAPI handles array
size pointer to the mapi_response size to update
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References libmapiserver_RopGetSearchCriteria_size().

Referenced by dcesrv_EcDoRpc().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopOpenFolder ( 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 OpenFolder (0x02) Rop. This operation opens an existing folder.

Parameters:
mem_ctx pointer to the memory context
emsmdbp_ctx pointer to the emsmdb provider context
mapi_req pointer to the OpenFolder EcDoRpc_MAPI_REQ structure
mapi_repl pointer to the OpenFolder EcDoRpc_MAPI_REPL structure
handles pointer to the MAPI handles array
size pointer to the mapi_response size to update
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_is_mapistore(), emsmdbp_object_folder_init(), libmapiserver_RopOpenFolder_size(), mapi_handles_add(), mapi_handles_search(), mapi_handles_set_private_data(), and RopOpenFolder_SystemSpecialFolder().

Referenced by dcesrv_EcDoRpc().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopSetSearchCriteria ( 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 SetSearchCriteria (0x30) Rop. This operation sets the search criteria for a search folder.

Parameters:
mem_ctx pointer to the memory context
emsmdbp_ctx pointer to the emsmdb provider context
mapi_req pointer to the SetSearchCriteria EcDoRpc_MAPI_REQ structure
mapi_repl pointer to the SetSearchCriteria EcDoRpc_MAPI_REPL structure
handles pointer to the MAPI handles array
size pointer to the mapi_response size to update
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References libmapiserver_RopSetSearchCriteria_size().

Referenced by dcesrv_EcDoRpc().

static enum MAPISTATUS RopOpenFolder_SystemSpecialFolder ( TALLOC_CTX *  mem_ctx,
struct emsmdbp_context *  emsmdbp_ctx,
struct OpenFolder_req  request,
struct OpenFolder_repl *  response 
) [static]

Open a System or Special folder object.

Parameters:
mem_ctx pointer to the memory context
emsmdbp_ctx pointer to the emsmdb provider context
request OpenFolder request
response pointer to the OpenFolder response
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

Referenced by EcDoRpc_RopOpenFolder().


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/