Summary: Isode provides a number of APIs which allow integrators and product developers to build components that access the Isode Messaging server products or other products supporting the same protocols.
store.h
Go to the documentation of this file.
1 /* Copyright (c) 2004-2009, Isode Limited, London, England.
2  * All rights reserved.
3  *
4  * Acquisition and use of this software and related materials for any
5  * purpose requires a written licence agreement from Isode Limited,
6  * or a written licence from an organisation licenced by Isode Limited
7  * to grant such a licence.
8  *
9  */
10 
11 #ifndef _SOM_STORE_H
12 #define _SOM_STORE_H
13 
14 #include "session.h"
15 #include "storeatt.h"
16 
33 #define SOM_FACILITY_STORE (8)
35 /* Object types */
36 
37 struct SOMMSData;
38 struct SOMMSMailbox;
39 struct SOMMSConnection;
40 struct SOMMSMessage;
41 
58 typedef void SOMMSStoreCallback (struct SOMSession *session,
59  void *ophandle,
60  void *clientdata,
61  struct SOMMSData *data,
62  int status,
63  const char *errstring);
64 
76 typedef void SOMMSStoreMonitorCallback (struct SOMSession *session,
77  void *ophandle,
78  void *clientdata,
79  struct SOMMSData *data,
80  int status,
81  const char *datap,
82  size_t dlen);
83 
84 
95 typedef void SOMMSStoreMailboxesCallback (struct SOMSession *session,
96  void *ophandle,
97  void *clientdata,
98  struct SOMMSData *data,
99  int status);
100 
111 typedef void SOMMSStoreConnectionsCallback (struct SOMSession *session,
112  void *ophandle,
113  void *clientdata,
114  struct SOMMSData *data,
115  int status);
116 
127 typedef void SOMMSStoreMessagesCallback (struct SOMSession *session,
128  void *ophandle,
129  void *clientdata,
130  struct SOMMSData *data,
131  int status);
132 
145 typedef void SOMMSConnectionCallback (struct SOMSession *session,
146  void *ophandle,
147  void *clientdata,
148  struct SOMMSConnection *con,
149  int status);
150 
151 
164 typedef void SOMMSMailboxCallback (struct SOMSession *session,
165  void *ophandle,
166  void *clientdata,
167  struct SOMMSMailbox *mbx,
168  int status);
169 
170 
185 typedef void SOMMSMessageCallback (struct SOMSession *session,
186  void *ophandle,
187  void *clientdata,
188  struct SOMMSMessage *message,
189  int status);
190 
206 SOMAPI_CDECL int SOMStoreSetMonitorCallback (struct SOMSession *session,
207  SOMMSStoreMonitorCallback *callback,
208  SOMMSStoreMonitorCallback **oldvalue);
209 
221 SOMAPI_CDECL int SOMStoreSetCallback (struct SOMSession *session,
222  SOMMSStoreCallback *callback,
223  SOMMSStoreCallback **oldvalue);
224 
225 
237 SOMAPI_CDECL int
239  SOMMSStoreMailboxesCallback *callback,
240  SOMMSStoreMailboxesCallback **oldvalue);
241 
252 SOMAPI_CDECL int
255  SOMMSStoreConnectionsCallback **oldvalue);
256 
268 SOMAPI_CDECL int
270  SOMMSStoreMessagesCallback *callback,
271  SOMMSStoreMessagesCallback **oldvalue);
272 
273 
285 SOMAPI_CDECL int SOMStoreSetConnectionCallback (struct SOMSession *session,
286  SOMMSConnectionCallback *callback,
287  SOMMSConnectionCallback **oldvalue);
288 
289 
290 
302 SOMAPI_CDECL int SOMStoreSetMailboxCallback (struct SOMSession *session,
303  SOMMSMailboxCallback *callback,
304  SOMMSMailboxCallback **oldvalue);
305 
306 
307 
319 SOMAPI_CDECL int SOMStoreSetMessageCallback (struct SOMSession *session,
320  SOMMSMessageCallback *callback,
321  SOMMSMessageCallback **oldvalue);
322 
323 
324 /* \} */
325 
343 SOMAPI_CDECL int SOMStoreGetStrParam (struct SOMSession *session,
344  int paramtype,
345  char *buffer,
346  size_t buflen,
347  size_t *paramlenp);
348 
349 
358 SOMAPI_CDECL int SOMStoreGetIntParam (struct SOMSession *session,
359  int paramtype,
360  int *valp);
361 
372 SOMAPI_CDECL int SOMStoreConnectionGetStrParam (struct SOMMSConnection *connection,
373  int paramtype,
374  char *buffer,
375  size_t buflen,
376  size_t *paramlenp);
377 
388 SOMAPI_CDECL int SOMStoreGetMailbox (struct SOMMSData *data,
389  void **prev,
390  char *buffer,
391  size_t buflen,
392  size_t *paramlenp);
393 
402 SOMAPI_CDECL int SOMStoreGetConnection (struct SOMMSData *data,
403  void **prev,
404  int *valp);
405 
416 SOMAPI_CDECL int SOMStoreGetMessage (struct SOMMSData *data,
417  void **prev,
418  char *buffer,
419  size_t buflen,
420  size_t *paramlenp);
421 
422 
431 SOMAPI_CDECL int SOMStoreConnectionGetIntParam (struct SOMMSConnection *con,
432  int paramtype,
433  int *valp);
434 
445 SOMAPI_CDECL int SOMStoreMailboxGetStrParam (struct SOMMSMailbox *mbx,
446  int paramtype,
447  char *buffer,
448  size_t buflen,
449  size_t *paramlenp);
450 
451 
460 SOMAPI_CDECL int SOMStoreMailboxGetIntParam (struct SOMMSMailbox *mbx,
461  int paramtype,
462  int *valp);
463 
474 SOMAPI_CDECL int SOMStoreMessageGetStrParam (struct SOMMSMessage *message,
475  int paramtype,
476  char *buffer,
477  size_t buflen,
478  size_t *paramlenp);
479 
480 
489 SOMAPI_CDECL int SOMStoreMessageGetIntParam (struct SOMMSMessage *message,
490  int paramtype,
491  int *valp);
492 
493 
506 };
507 
516 SOMAPI_CDECL int SOMStoreMonitor (struct SOMSession *session,
517  enum som_storemonitor type,
518  void *ophandle,
519  int async);
520 
539  SOM_STORE_REBUILD_MAILBOX_LIST
540 };
541 
542 
550  SOM_STORE_MESSAGE_DELETE,
551  SOM_STORE_MESSAGE_MOVE,
552  SOM_STORE_MESSAGE_SETSTATE
553 };
554 
561  SOM_STORE_MAILBOX_DELETE,
562  SOM_STORE_MAILBOX_BACKUP,
563  SOM_STORE_MAILBOX_RESTORE,
564  SOM_STORE_MAILBOX_RESTORE_MESSAGE,
565  SOM_STORE_MAILBOX_REGISTER_AUTOACTION,
566  SOM_STORE_MAILBOX_DEREGISTER_AUTOACTION,
567  SOM_STORE_TIDY_MAILBOX,
568  SOM_STORE_REBUILD_STATS
569 };
570 
584 SOMAPI_CDECL int SOMStoreManageMailbox (struct SOMSession *session,
585  enum som_managemailbox op,
586  const char *mbx,
587  const char *qualifier,
588  const char *qual2,
589  const char *qual3,
590  void *ophandle,
591  int async);
592 
605 SOMAPI_CDECL int SOMStoreManageMessage (struct SOMSession *session,
606  enum som_managemessage op,
607  const char *source_mbx,
608  int seqnum,
609  const char *dest_mbx,
610  void *ophandle,
611  int async);
612 
625 SOMAPI_CDECL int SOMStoreForwardMessage (struct SOMSession *session,
626  const char *source_mbx,
627  int seqnum,
628  const char *dest_addresses,
629  const char *covernote,
630  void *ophandle,
631  int async);
632 
644 SOMAPI_CDECL int SOMStoreControl (struct SOMSession *session,
645  enum som_storecontrol control,
646  char *qualifier,
647  void *ophandle,
648  int async);
649 
650 
663 SOMAPI_CDECL int SOMStoreStatus (struct SOMSession *session,
664  void *ophandle,
665  int async);
666 
667 
679 SOMAPI_CDECL int SOMStoreConnectionStatus (struct SOMSession *session,
680  int connectionid,
681  void *ophandle,
682  int async);
683 
695 SOMAPI_CDECL int SOMStoreMailboxStatus (struct SOMSession *session,
696  char *mailbox,
697  void *ophandle,
698  int async);
699 
712 SOMAPI_CDECL int SOMStoreMessageStatus (struct SOMSession *session,
713  char *mailbox,
714  int seqno,
715  void *ophandle,
716  int async);
717 
727 SOMAPI_CDECL int SOMStoreMailboxes (struct SOMSession *session,
728  void *ophandle,
729  int async);
730 
740 SOMAPI_CDECL int SOMStoreConnections (struct SOMSession *session,
741  void *ophandle,
742  int async);
743 
754 SOMAPI_CDECL int SOMStoreMessages (struct SOMSession *session,
755  char *mailbox,
756  void *ophandle,
757  int async);
758 
759 /* \} */
760 
761 #endif /* _SOM_STORE_H */
void SOMMSMailboxCallback(struct SOMSession *session, void *ophandle, void *clientdata, struct SOMMSMailbox *mbx, int status)
Prototype for callback for reporting mailbox object.
Definition: store.h:164
som_managemailbox
Definition: store.h:560
void SOMMSStoreMessagesCallback(struct SOMSession *session, void *ophandle, void *clientdata, struct SOMMSData *data, int status)
Prototype for callback for store messages operation completion.
Definition: store.h:127
int SOMStoreMessageGetIntParam(struct SOMMSMessage *message, int paramtype, int *valp)
Return an integer-valued parameter from the message object.
int SOMStoreSetConnectionCallback(struct SOMSession *session, SOMMSConnectionCallback *callback, SOMMSConnectionCallback **oldvalue)
Set the callback function for connection objects for this session.
int SOMStoreConnectionStatus(struct SOMSession *session, int connectionid, void *ophandle, int async)
Get connection status.
int SOMStoreMonitor(struct SOMSession *session, enum som_storemonitor type, void *ophandle, int async)
Start monitoring store events.
int SOMStoreSetListMessagesCallback(struct SOMSession *session, SOMMSStoreMessagesCallback *callback, SOMMSStoreMessagesCallback **oldvalue)
Set the Store "list messages" callback function for this session.
int SOMStoreGetConnection(struct SOMMSData *data, void **prev, int *valp)
Return the next connection id from a data block.
int SOMStoreForwardMessage(struct SOMSession *session, const char *source_mbx, int seqnum, const char *dest_addresses, const char *covernote, void *ophandle, int async)
Forward a Message.
void SOMMSConnectionCallback(struct SOMSession *session, void *ophandle, void *clientdata, struct SOMMSConnection *con, int status)
Prototype for callback for reporting connection object.
Definition: store.h:145
Switch Operation Management Interface.
int SOMStoreSetMessageCallback(struct SOMSession *session, SOMMSMessageCallback *callback, SOMMSMessageCallback **oldvalue)
Set the callback function for messages for this session.
int SOMStoreSetMailboxCallback(struct SOMSession *session, SOMMSMailboxCallback *callback, SOMMSMailboxCallback **oldvalue)
Set the callback function for mailboxes for this session.
int SOMStoreSetListMailboxesCallback(struct SOMSession *session, SOMMSStoreMailboxesCallback *callback, SOMMSStoreMailboxesCallback **oldvalue)
Set the Store "list mailboxes" callback function for this session.
int SOMStoreStatus(struct SOMSession *session, void *ophandle, int async)
Get current Store status.
Switch Operation Management Interface: Store Access Attributes.
som_managemessage
Definition: store.h:549
Opaque session data.
int SOMStoreSetListConnectionsCallback(struct SOMSession *session, SOMMSStoreConnectionsCallback *callback, SOMMSStoreConnectionsCallback **oldvalue)
Set the Store "list connections" callback function for this session.
int SOMStoreGetMailbox(struct SOMMSData *data, void **prev, char *buffer, size_t buflen, size_t *paramlenp)
Return the next mailbox path from a data block.
int SOMStoreGetStrParam(struct SOMSession *session, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
Return an string-valued parameter from the store object.
void SOMMSStoreCallback(struct SOMSession *session, void *ophandle, void *clientdata, struct SOMMSData *data, int status, const char *errstring)
Prototype for callback for store operation completion.
Definition: store.h:58
int SOMStoreMessageGetStrParam(struct SOMMSMessage *message, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
Return an string-valued parameter from the message object.
void SOMMSStoreMonitorCallback(struct SOMSession *session, void *ophandle, void *clientdata, struct SOMMSData *data, int status, const char *datap, size_t dlen)
Prototype for callback for store monitoring.
Definition: store.h:76
int SOMStoreMessageStatus(struct SOMSession *session, char *mailbox, int seqno, void *ophandle, int async)
Get message status.
int SOMStoreConnectionGetIntParam(struct SOMMSConnection *con, int paramtype, int *valp)
Return an integer-valued parameter from the connection object.
som_storecontrol
Definition: store.h:529
som_storemonitor
Definition: store.h:502
int SOMStoreMessages(struct SOMSession *session, char *mailbox, void *ophandle, int async)
Get list of messages in a mailbox.
void SOMMSMessageCallback(struct SOMSession *session, void *ophandle, void *clientdata, struct SOMMSMessage *message, int status)
Prototype for callback for reporting message object.
Definition: store.h:185
int SOMStoreGetMessage(struct SOMMSData *data, void **prev, char *buffer, size_t buflen, size_t *paramlenp)
Return the next message path from a data block.
int SOMStoreManageMessage(struct SOMSession *session, enum som_managemessage op, const char *source_mbx, int seqnum, const char *dest_mbx, void *ophandle, int async)
Perform management operation on Message.
int SOMStoreConnections(struct SOMSession *session, void *ophandle, int async)
Get list of connections to Store.
int SOMStoreMailboxGetIntParam(struct SOMMSMailbox *mbx, int paramtype, int *valp)
Return an integer-valued parameter from the mailbox object.
int SOMStoreConnectionGetStrParam(struct SOMMSConnection *connection, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
Return an string-valued parameter from the connection object.
void SOMMSStoreConnectionsCallback(struct SOMSession *session, void *ophandle, void *clientdata, struct SOMMSData *data, int status)
Prototype for callback for store connections operation completion.
Definition: store.h:111
void SOMMSStoreMailboxesCallback(struct SOMSession *session, void *ophandle, void *clientdata, struct SOMMSData *data, int status)
Prototype for callback for store mailboxes operation completion.
Definition: store.h:95
int SOMStoreManageMailbox(struct SOMSession *session, enum som_managemailbox op, const char *mbx, const char *qualifier, const char *qual2, const char *qual3, void *ophandle, int async)
Perform management operation on Mailbox.
int SOMStoreMailboxes(struct SOMSession *session, void *ophandle, int async)
Get list of mailboxes in Store.
int SOMStoreMailboxGetStrParam(struct SOMMSMailbox *mbx, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
Return an string-valued parameter from the mailbox object.
int SOMStoreSetCallback(struct SOMSession *session, SOMMSStoreCallback *callback, SOMMSStoreCallback **oldvalue)
Set the Store callback function for this session.
int SOMStoreGetIntParam(struct SOMSession *session, int paramtype, int *valp)
Return an integer-valued parameter from the store object.
int SOMStoreControl(struct SOMSession *session, enum som_storecontrol control, char *qualifier, void *ophandle, int async)
Perform control operation on Store.
int SOMStoreSetMonitorCallback(struct SOMSession *session, SOMMSStoreMonitorCallback *callback, SOMMSStoreMonitorCallback **oldvalue)
Set the Store monitor callback function for this session.
int SOMStoreMailboxStatus(struct SOMSession *session, char *mailbox, void *ophandle, int async)
Get mailbox status.