libmapi/mapi_object.c File Reference

mapi_object_t support functions More...

#include <libmapi/libmapi.h>

Defines

#define INVALID_HANDLE_VALUE   0xffffffff
 keep intern to this file

Functions

_PUBLIC_ enum MAPISTATUS mapi_object_bookmark_debug (mapi_object_t *obj_table)
enum MAPISTATUS mapi_object_bookmark_find (mapi_object_t *obj_table, uint32_t bkPosition, struct SBinary_short *bin)
_PUBLIC_ enum MAPISTATUS mapi_object_bookmark_get_count (mapi_object_t *obj_table, uint32_t *count)
_PUBLIC_ enum MAPISTATUS mapi_object_copy (mapi_object_t *dst, mapi_object_t *src)
_PUBLIC_ void mapi_object_debug (mapi_object_t *obj)
mapi_handle_t mapi_object_get_handle (mapi_object_t *obj)
_PUBLIC_ mapi_id_t mapi_object_get_id (mapi_object_t *obj)
_PUBLIC_ uint8_t mapi_object_get_logon_id (mapi_object_t *obj)
_PUBLIC_ struct mapi_session * mapi_object_get_session (mapi_object_t *obj)
_PUBLIC_ enum MAPISTATUS mapi_object_init (mapi_object_t *obj)
int mapi_object_is_invalid (mapi_object_t *obj)
_PUBLIC_ void mapi_object_release (mapi_object_t *obj)
void mapi_object_set_handle (mapi_object_t *obj, mapi_handle_t handle)
void mapi_object_set_id (mapi_object_t *obj, mapi_id_t id)
_PUBLIC_ void mapi_object_set_logon_id (mapi_object_t *obj, uint8_t logon_id)
_PUBLIC_ void mapi_object_set_logon_store (mapi_object_t *obj)
_PUBLIC_ void mapi_object_set_session (mapi_object_t *obj, struct mapi_session *session)
void mapi_object_table_init (TALLOC_CTX *mem_ctx, mapi_object_t *obj_table)

Detailed Description

mapi_object_t support functions


Function Documentation

_PUBLIC_ enum MAPISTATUS mapi_object_bookmark_debug ( mapi_object_t *  obj_table  ) 

Dump bookmarks associated to a MAPI object table

Parameters:
obj_table pointer on the MAPI object table
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error.
enum MAPISTATUS mapi_object_bookmark_find ( mapi_object_t *  obj_table,
uint32_t  bkPosition,
struct SBinary_short *  bin 
)

Fetch a bookmark within a MAPI object table

Parameters:
obj_table pointer on the MAPI object table
bkPosition the bookmark position to find
bin pointer on the Sbinary_short the function fills
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error.

Referenced by FindRow(), and SeekRowBookmark().

_PUBLIC_ enum MAPISTATUS mapi_object_bookmark_get_count ( mapi_object_t *  obj_table,
uint32_t *  count 
)

Retrieve the number of bookmarks stored in a MAPI object table

Parameters:
obj_table pointer to the MAPI object table
count pointer to the number of bookmarks to return
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error.
_PUBLIC_ enum MAPISTATUS mapi_object_copy ( mapi_object_t *  dst,
mapi_object_t *  src 
)

Copy MAPI object

This function copies mapi_object data from source to destination.

Parameters:
dst pointer on the destination MAPI object
src pointer on the source MAPI object
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI_E_NOT_INITIALIZED
_PUBLIC_ void mapi_object_debug ( mapi_object_t *  obj  ) 

Dump a MAPI object (for debugging)

Parameters:
obj pointer on the MAPI object to dump out
mapi_handle_t mapi_object_get_handle ( mapi_object_t *  obj  ) 

Retrieve the handle associated to a MAPI object

Parameters:
obj pointer on the MAPI object to retrieve the handle from
Returns:
a valid MAPI object handle on success, otherwise -1.

Referenced by Abort(), AbortSubmit(), AddressTypes(), CollapseRow(), CommitStream(), CopyFolder(), CopyProps(), CopyTo(), CopyToStream(), CreateAttach(), CreateBookmark(), CreateFolder(), CreateMessage(), DeleteAttach(), DeleteFolder(), DeleteMessage(), DeletePropertiesNoReplicate(), DeleteProps(), EmptyFolder(), ExpandRow(), FindRow(), FreeBookmark(), GetAttachmentTable(), GetCollapseState(), GetContentsTable(), GetHierarchyTable(), GetIdFromLongTermId(), GetIDsFromNames(), GetLocalReplicaIds(), GetLongTermIdFromId(), GetMessageStatus(), GetNamesFromIDs(), GetOwningServers(), GetPropList(), GetProps(), GetPropsAll(), GetReceiveFolder(), GetReceiveFolderTable(), GetRulesTable(), GetSearchCriteria(), GetStatus(), GetStoreState(), GetStreamSize(), GetTable(), GetTransportFolder(), mapi_object_is_invalid(), ModifyRecipients(), ModifyTable(), MoveCopyMessages(), MoveFolder(), OpenAttach(), OpenEmbeddedMessage(), OpenFolder(), OpenMessage(), OpenPublicFolderByName(), OpenStream(), PublicFolderIsGhosted(), QueryColumns(), QueryNamedProperties(), QueryPosition(), QueryRows(), ReadRecipients(), ReadStream(), Release(), RemoveAllRecipients(), Reset(), Restrict(), SaveChangesAttachment(), SaveChangesMessage(), SeekRow(), SeekRowApprox(), SeekRowBookmark(), SeekStream(), SetCollapseState(), SetColumns(), SetMessageReadFlag(), SetMessageStatus(), SetProps(), SetReadFlags(), SetReceiveFolder(), SetSearchCriteria(), SetSpooler(), SetStreamSize(), SortTable(), SpoolerLockMessage(), SubmitMessage(), Subscribe(), TransportSend(), and WriteStream().

_PUBLIC_ mapi_id_t mapi_object_get_id ( mapi_object_t *  obj  ) 

Retrieve an object ID for a given MAPI object

Parameters:
obj pointer on the MAPI object to get the ID for
Returns:
the object ID, or -1 if the object does not exist

Referenced by AbortSubmit(), CopyFolder(), CreateMessage(), GetOwningServers(), mapi_id_array_add_obj(), mapi_id_array_del_obj(), MoveFolder(), PublicFolderIsGhosted(), SetReceiveFolder(), SpoolerLockMessage(), and Subscribe().

_PUBLIC_ uint8_t mapi_object_get_logon_id ( mapi_object_t *  obj  ) 

Retrieve the logon id for a given MAPI object

Parameters:
obj pointer to the object to retrieve the logon id from
Returns:
the object logon ID on success, otherwise -1

Referenced by Abort(), AbortSubmit(), AddressTypes(), CollapseRow(), CommitStream(), CopyFolder(), CopyProps(), CopyTo(), CopyToStream(), CreateAttach(), CreateBookmark(), CreateFolder(), CreateMessage(), DeleteAttach(), DeleteFolder(), DeleteMessage(), DeletePropertiesNoReplicate(), DeleteProps(), EmptyFolder(), ExpandRow(), FindRow(), FreeBookmark(), GetAttachmentTable(), GetCollapseState(), GetContentsTable(), GetHierarchyTable(), GetIdFromLongTermId(), GetIDsFromNames(), GetLocalReplicaIds(), GetLongTermIdFromId(), GetMessageStatus(), GetNamesFromIDs(), GetOwningServers(), GetPropList(), GetProps(), GetPropsAll(), GetReceiveFolder(), GetReceiveFolderTable(), GetRulesTable(), GetSearchCriteria(), GetStatus(), GetStoreState(), GetStreamSize(), GetTable(), GetTransportFolder(), ModifyRecipients(), ModifyTable(), MoveCopyMessages(), MoveFolder(), OpenAttach(), OpenEmbeddedMessage(), OpenFolder(), OpenMessage(), OpenPublicFolderByName(), OpenStream(), PublicFolderIsGhosted(), QueryColumns(), QueryNamedProperties(), QueryPosition(), QueryRows(), ReadRecipients(), ReadStream(), Release(), RemoveAllRecipients(), Reset(), Restrict(), SaveChangesAttachment(), SaveChangesMessage(), SeekRow(), SeekRowApprox(), SeekRowBookmark(), SeekStream(), SetCollapseState(), SetColumns(), SetMessageReadFlag(), SetMessageStatus(), SetProps(), SetReadFlags(), SetReceiveFolder(), SetSearchCriteria(), SetSpooler(), SetStreamSize(), SortTable(), SpoolerLockMessage(), SubmitMessage(), Subscribe(), TransportSend(), and WriteStream().

_PUBLIC_ struct mapi_session* mapi_object_get_session ( mapi_object_t *  obj  )  [read]

Retrieve the session associated to the MAPI object

Parameters:
obj the object to get the session for
Returns:
pointer on a MAPI session on success, otherwise NULL

Referenced by Abort(), AbortSubmit(), AddressTypes(), AddUserPermission(), CollapseRow(), CommitStream(), CopyFolder(), CopyProps(), CopyTo(), CopyToStream(), CreateAttach(), CreateBookmark(), CreateFolder(), CreateMessage(), DeleteAttach(), DeleteFolder(), DeleteMessage(), DeletePropertiesNoReplicate(), DeleteProps(), EmptyFolder(), ExpandRow(), FindRow(), FreeBookmark(), GetAttachmentTable(), GetCollapseState(), GetContentsTable(), GetHierarchyTable(), GetIdFromLongTermId(), GetIDsFromNames(), GetLocalReplicaIds(), GetLongTermIdFromId(), GetMessageStatus(), GetNamesFromIDs(), GetOwningServers(), GetPropList(), GetProps(), GetPropsAll(), GetReceiveFolder(), GetReceiveFolderTable(), GetRulesTable(), GetSearchCriteria(), GetStatus(), GetStoreState(), GetStreamSize(), GetTable(), GetTransportFolder(), GetUserFreeBusyData(), IsFreeBusyConflict(), Logoff(), ModifyRecipients(), ModifyTable(), ModifyUserPermission(), MoveCopyMessages(), MoveFolder(), OpenAttach(), OpenEmbeddedMessage(), OpenFolder(), OpenMessage(), OpenPublicFolderByName(), OpenStream(), PublicFolderIsGhosted(), QueryColumns(), QueryNamedProperties(), QueryPosition(), QueryRows(), ReadRecipients(), ReadStream(), Release(), RemoveAllRecipients(), RemoveUserPermission(), Reset(), Restrict(), SaveChangesAttachment(), SaveChangesMessage(), SeekRow(), SeekRowApprox(), SeekRowBookmark(), SeekStream(), SetCollapseState(), SetColumns(), SetMessageReadFlag(), SetMessageStatus(), SetProps(), SetReadFlags(), SetReceiveFolder(), SetSearchCriteria(), SetSpooler(), SetStreamSize(), SortTable(), SpoolerLockMessage(), SubmitMessage(), Subscribe(), TransportSend(), and WriteStream().

_PUBLIC_ enum MAPISTATUS mapi_object_init ( mapi_object_t *  obj  ) 

Initialize MAPI object

This function is required to be called before any manipulation of this MAPI object.

Parameters:
obj the object to initialize
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error.
Note:
Developers may also call GetLastError() to retrieve the last MAPI error code. Possible MAPI error codes are:
  • MAPI_E_NOT_INITIALIZED: MAPI subsystem has not been initialized.
See also:
mapi_object_release
Examples:
fetchappointment.c, and fetchmail.c.

Referenced by CreateFolder(), GetUserFreeBusyData(), ModifyUserPermission(), RemoveUserPermission(), and Subscribe().

int mapi_object_is_invalid ( mapi_object_t *  obj  ) 

Check if the supplied object has a valid handle

Parameters:
obj pointer on the MAPI object to test
Returns:
0 on success, otherwise 1

References INVALID_HANDLE_VALUE, and mapi_object_get_handle().

_PUBLIC_ void mapi_object_release ( mapi_object_t *  obj  ) 

Release MAPI object

This function is required to be called when this MAPI object is no longer required.

Parameters:
obj pointer on the MAPI object to release
See also:
mapi_object_initialize, Release
Examples:
fetchappointment.c, and fetchmail.c.

References INVALID_HANDLE_VALUE, and Release().

Referenced by GetUserFreeBusyData(), Logoff(), ModifyUserPermission(), and RemoveUserPermission().

void mapi_object_set_handle ( mapi_object_t *  obj,
mapi_handle_t  handle 
)

Associate a handle to a MAPI object

Parameters:
obj pointer on the MAPI object on which handle has to be set
handle the MAPI handle value

Referenced by CreateAttach(), CreateFolder(), CreateMessage(), GetAttachmentTable(), GetContentsTable(), GetHierarchyTable(), GetRulesTable(), GetTable(), OpenAttach(), OpenEmbeddedMessage(), OpenFolder(), OpenMessage(), OpenPublicFolder(), OpenPublicFolderByName(), OpenStream(), OpenUserMailbox(), and Subscribe().

void mapi_object_set_id ( mapi_object_t *  obj,
mapi_id_t  id 
)

Set the id for a given MAPI object

Parameters:
obj pointer on the MAPI object to set the session for
id Identifier to set to the object obj

Referenced by CreateFolder(), OpenFolder(), and SaveChangesMessage().

_PUBLIC_ void mapi_object_set_logon_id ( mapi_object_t *  obj,
uint8_t  logon_id 
)

Set the logon id for a given MAPI object

Parameters:
obj pointer to the object to set the logon id for
logon_id the logon identifier to associate to the MAPI object

Referenced by CreateAttach(), CreateFolder(), CreateMessage(), GetAttachmentTable(), GetContentsTable(), GetHierarchyTable(), GetRulesTable(), GetTable(), OpenAttach(), OpenEmbeddedMessage(), OpenFolder(), OpenMessage(), OpenPublicFolder(), OpenPublicFolderByName(), OpenStream(), and OpenUserMailbox().

_PUBLIC_ void mapi_object_set_logon_store ( mapi_object_t *  obj  ) 

Mark a MAPI object as a store object

Parameters:
obj pointer to the object to set the store boolean for

Referenced by OpenPublicFolder(), and OpenUserMailbox().

_PUBLIC_ void mapi_object_set_session ( mapi_object_t *  obj,
struct mapi_session *  session 
)

Set the session for a given MAPI object

Parameters:
obj pointer on the object to set the session for
session pointer on the MAPI session to associate to the MAPI object

Referenced by CreateAttach(), CreateFolder(), CreateMessage(), GetAttachmentTable(), GetContentsTable(), GetHierarchyTable(), GetRulesTable(), GetTable(), OpenAttach(), OpenEmbeddedMessage(), OpenFolder(), OpenMessage(), OpenPublicFolder(), OpenPublicFolderByName(), OpenStream(), and OpenUserMailbox().

void mapi_object_table_init ( TALLOC_CTX *  mem_ctx,
mapi_object_t *  obj_table 
)

Initialize MAPI object private data to store a MAPI object table

Parameters:
mem_ctx pointer on the memory context
obj_table pointer on the MAPI object

Referenced by GetContentsTable(), GetHierarchyTable(), GetRulesTable(), and GetTable().


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/