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
37struct SOMMSData;
38struct SOMMSMailbox;
39struct SOMMSConnection;
40struct SOMMSMessage;
41
58typedef void SOMMSStoreCallback (struct SOMSession *session,
59 void *ophandle,
60 void *clientdata,
61 struct SOMMSData *data,
62 int status,
63 const char *errstring);
64
76typedef 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
95typedef void SOMMSStoreMailboxesCallback (struct SOMSession *session,
96 void *ophandle,
97 void *clientdata,
98 struct SOMMSData *data,
99 int status);
100
111typedef void SOMMSStoreConnectionsCallback (struct SOMSession *session,
112 void *ophandle,
113 void *clientdata,
114 struct SOMMSData *data,
115 int status);
116
127typedef void SOMMSStoreMessagesCallback (struct SOMSession *session,
128 void *ophandle,
129 void *clientdata,
130 struct SOMMSData *data,
131 int status);
132
145typedef void SOMMSConnectionCallback (struct SOMSession *session,
146 void *ophandle,
147 void *clientdata,
148 struct SOMMSConnection *con,
149 int status);
150
151
164typedef void SOMMSMailboxCallback (struct SOMSession *session,
165 void *ophandle,
166 void *clientdata,
167 struct SOMMSMailbox *mbx,
168 int status);
169
170
185typedef void SOMMSMessageCallback (struct SOMSession *session,
186 void *ophandle,
187 void *clientdata,
188 struct SOMMSMessage *message,
189 int status);
190
206SOMAPI_CDECL int SOMStoreSetMonitorCallback (struct SOMSession *session,
208 SOMMSStoreMonitorCallback **oldvalue);
209
221SOMAPI_CDECL int SOMStoreSetCallback (struct SOMSession *session,
222 SOMMSStoreCallback *callback,
223 SOMMSStoreCallback **oldvalue);
224
225
237SOMAPI_CDECL int
240 SOMMSStoreMailboxesCallback **oldvalue);
241
252SOMAPI_CDECL int
256
268SOMAPI_CDECL int
271 SOMMSStoreMessagesCallback **oldvalue);
272
273
285SOMAPI_CDECL int SOMStoreSetConnectionCallback (struct SOMSession *session,
286 SOMMSConnectionCallback *callback,
287 SOMMSConnectionCallback **oldvalue);
288
289
290
302SOMAPI_CDECL int SOMStoreSetMailboxCallback (struct SOMSession *session,
303 SOMMSMailboxCallback *callback,
304 SOMMSMailboxCallback **oldvalue);
305
306
307
319SOMAPI_CDECL int SOMStoreSetMessageCallback (struct SOMSession *session,
320 SOMMSMessageCallback *callback,
321 SOMMSMessageCallback **oldvalue);
322
323
324/* \} */
325
343SOMAPI_CDECL int SOMStoreGetStrParam (struct SOMSession *session,
344 int paramtype,
345 char *buffer,
346 size_t buflen,
347 size_t *paramlenp);
348
349
358SOMAPI_CDECL int SOMStoreGetIntParam (struct SOMSession *session,
359 int paramtype,
360 int *valp);
361
372SOMAPI_CDECL int SOMStoreConnectionGetStrParam (struct SOMMSConnection *connection,
373 int paramtype,
374 char *buffer,
375 size_t buflen,
376 size_t *paramlenp);
377
388SOMAPI_CDECL int SOMStoreGetMailbox (struct SOMMSData *data,
389 void **prev,
390 char *buffer,
391 size_t buflen,
392 size_t *paramlenp);
393
402SOMAPI_CDECL int SOMStoreGetConnection (struct SOMMSData *data,
403 void **prev,
404 int *valp);
405
416SOMAPI_CDECL int SOMStoreGetMessage (struct SOMMSData *data,
417 void **prev,
418 char *buffer,
419 size_t buflen,
420 size_t *paramlenp);
421
422
431SOMAPI_CDECL int SOMStoreConnectionGetIntParam (struct SOMMSConnection *con,
432 int paramtype,
433 int *valp);
434
445SOMAPI_CDECL int SOMStoreMailboxGetStrParam (struct SOMMSMailbox *mbx,
446 int paramtype,
447 char *buffer,
448 size_t buflen,
449 size_t *paramlenp);
450
451
460SOMAPI_CDECL int SOMStoreMailboxGetIntParam (struct SOMMSMailbox *mbx,
461 int paramtype,
462 int *valp);
463
474SOMAPI_CDECL int SOMStoreMessageGetStrParam (struct SOMMSMessage *message,
475 int paramtype,
476 char *buffer,
477 size_t buflen,
478 size_t *paramlenp);
479
480
489SOMAPI_CDECL int SOMStoreMessageGetIntParam (struct SOMMSMessage *message,
490 int paramtype,
491 int *valp);
492
493
507
516SOMAPI_CDECL int SOMStoreMonitor (struct SOMSession *session,
517 enum som_storemonitor type,
518 void *ophandle,
519 int async);
520
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
584SOMAPI_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
605SOMAPI_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
625SOMAPI_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
644SOMAPI_CDECL int SOMStoreControl (struct SOMSession *session,
645 enum som_storecontrol control,
646 char *qualifier,
647 void *ophandle,
648 int async);
649
650
663SOMAPI_CDECL int SOMStoreStatus (struct SOMSession *session,
664 void *ophandle,
665 int async);
666
667
679SOMAPI_CDECL int SOMStoreConnectionStatus (struct SOMSession *session,
680 int connectionid,
681 void *ophandle,
682 int async);
683
695SOMAPI_CDECL int SOMStoreMailboxStatus (struct SOMSession *session,
696 char *mailbox,
697 void *ophandle,
698 int async);
699
712SOMAPI_CDECL int SOMStoreMessageStatus (struct SOMSession *session,
713 char *mailbox,
714 int seqno,
715 void *ophandle,
716 int async);
717
727SOMAPI_CDECL int SOMStoreMailboxes (struct SOMSession *session,
728 void *ophandle,
729 int async);
730
740SOMAPI_CDECL int SOMStoreConnections (struct SOMSession *session,
741 void *ophandle,
742 int async);
743
754SOMAPI_CDECL int SOMStoreMessages (struct SOMSession *session,
755 char *mailbox,
756 void *ophandle,
757 int async);
758
759/* \} */
760
761#endif /* _SOM_STORE_H */
som_storemonitor
Definition store.h:502
int SOMStoreMonitor(struct SOMSession *session, enum som_storemonitor type, void *ophandle, int async)
Start monitoring store events.
@ SOM_STORE_MONITOR_MAILBOXES
Definition store.h:505
@ SOM_STORE_MONITOR_NONE
Definition store.h:503
@ SOM_STORE_MONITOR_CONNECTIONS
Definition store.h:504
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
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
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
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
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
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
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
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.
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 SOMStoreMessageGetIntParam(struct SOMMSMessage *message, int paramtype, int *valp)
Return an integer-valued parameter from the message object.
int SOMStoreGetConnection(struct SOMMSData *data, void **prev, int *valp)
Return the next connection id from a data block.
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 SOMStoreConnectionGetStrParam(struct SOMMSConnection *connection, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
Return an string-valued parameter from the connection object.
int SOMStoreGetIntParam(struct SOMSession *session, int paramtype, int *valp)
Return an integer-valued parameter from the store object.
int SOMStoreMailboxGetIntParam(struct SOMMSMailbox *mbx, int paramtype, int *valp)
Return an integer-valued parameter from the mailbox object.
int SOMStoreMessageGetStrParam(struct SOMMSMessage *message, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
Return an string-valued parameter from the message object.
int SOMStoreConnectionGetIntParam(struct SOMMSConnection *con, int paramtype, int *valp)
Return an integer-valued parameter from the connection object.
Switch Operation Management Interface.
int SOMStoreSetMessageCallback(struct SOMSession *session, SOMMSMessageCallback *callback, SOMMSMessageCallback **oldvalue)
Set the callback function for messages for this session.
int SOMStoreSetListMailboxesCallback(struct SOMSession *session, SOMMSStoreMailboxesCallback *callback, SOMMSStoreMailboxesCallback **oldvalue)
Set the Store "list mailboxes" callback function for this session.
int SOMStoreSetCallback(struct SOMSession *session, SOMMSStoreCallback *callback, SOMMSStoreCallback **oldvalue)
Set the Store callback function for this session.
int SOMStoreSetMonitorCallback(struct SOMSession *session, SOMMSStoreMonitorCallback *callback, SOMMSStoreMonitorCallback **oldvalue)
Set the Store monitor callback function for this session.
int SOMStoreStatus(struct SOMSession *session, void *ophandle, int async)
Get current Store status.
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 SOMStoreSetMailboxCallback(struct SOMSession *session, SOMMSMailboxCallback *callback, SOMMSMailboxCallback **oldvalue)
Set the callback function for mailboxes for this session.
int SOMStoreControl(struct SOMSession *session, enum som_storecontrol control, char *qualifier, void *ophandle, int async)
Perform control operation on Store.
int SOMStoreConnectionStatus(struct SOMSession *session, int connectionid, void *ophandle, int async)
Get connection status.
int SOMStoreConnections(struct SOMSession *session, void *ophandle, int async)
Get list of connections to Store.
som_managemessage
Definition store.h:549
int SOMStoreSetListConnectionsCallback(struct SOMSession *session, SOMMSStoreConnectionsCallback *callback, SOMMSStoreConnectionsCallback **oldvalue)
Set the Store "list connections" callback function for this session.
int SOMStoreSetConnectionCallback(struct SOMSession *session, SOMMSConnectionCallback *callback, SOMMSConnectionCallback **oldvalue)
Set the callback function for connection objects for this session.
som_managemailbox
Definition store.h:560
int SOMStoreMessages(struct SOMSession *session, char *mailbox, void *ophandle, int async)
Get list of messages in a mailbox.
som_storecontrol
Definition store.h:529
@ SOM_STORE_LOGOUT
Definition store.h:533
@ SOM_STORE_BLOCK_OPERATION
Definition store.h:534
@ SOM_STORE_SHUTDOWN
Definition store.h:531
@ SOM_STORE_MAXVOL
Definition store.h:537
@ SOM_STORE_UNBLOCK_OPERATION
Definition store.h:535
@ SOM_STORE_MAXMSGS
Definition store.h:538
@ SOM_STORE_MAXCONNS
Definition store.h:536
@ SOM_STORE_RESTART
Definition store.h:532
@ SOM_STORE_ABORT
Definition store.h:530
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 SOMStoreMailboxStatus(struct SOMSession *session, char *mailbox, void *ophandle, int async)
Get mailbox status.
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.
int SOMStoreMailboxes(struct SOMSession *session, void *ophandle, int async)
Get list of mailboxes in Store.
int SOMStoreSetListMessagesCallback(struct SOMSession *session, SOMMSStoreMessagesCallback *callback, SOMMSStoreMessagesCallback **oldvalue)
Set the Store "list messages" callback function for this session.
int SOMStoreMessageStatus(struct SOMSession *session, char *mailbox, int seqno, void *ophandle, int async)
Get message status.
Switch Operation Management Interface: Store Access Attributes.
Opaque session data.

All rights reserved © 2002 - 2024 Isode Ltd.