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.
Queue Manager Operations

Enumerations

enum  som_qmcontrol {
  SOM_QM_ABORT, SOM_QM_SHUTDOWN, SOM_QM_RESTART, SOM_QM_REREADQUEUE,
  SOM_QM_DISABLE_SUBMISSION, SOM_QM_ENABLE_SUBMISSION, SOM_QM_DISABLE_ALL, SOM_QM_ENABLE_ALL,
  SOM_QM_INCREASE_MAXCHANS, SOM_QM_DECREASE_MAXCHANS, SOM_QM_LOAD_CONFIG
}
 
enum  som_qocontrol {
  SOM_QO_STOP, SOM_QO_START, SOM_QO_DISABLE_IN, SOM_QO_ENABLE_IN,
  SOM_QO_DELAY_CLEAR, SOM_QO_DELAY_SET, SOM_QO_MINIMISE, SOM_QO_DELETE,
  SOM_QO_CONNECT, SOM_QO_DISCONNECT, SOM_QO_TIMEOUT, SOM_QO_NONDELIVER,
  SOM_QO_REDIRECT, SOM_QO_REPROCESS, SOM_QO_RELOAD, SOM_QO_ABORT,
  SOM_QO_PAUSE, SOM_QO_RESUME
}
 

Functions

int SOMQueueControl (struct SOMSession *session, enum som_qmcontrol control, void *ophandle, int async)
 Perform control operation on Queue Manager. More...
 
int SOMQueueStatus (struct SOMSession *session, void *ophandle, int async)
 Get current Queue Manager status. More...
 
int SOMQchannelControl (struct SOMSession *session, struct SOMQselector *selector, enum som_qocontrol control, const char *data, int datalen, void *ophandle, int async)
 Perform control operation on Queue Channel. More...
 
int SOMQchannelRead (struct SOMSession *session, struct SOMQselector *selector, void *ophandle, int async)
 Perform control operation on Queue Channel. More...
 
int SOMQmtaControl (struct SOMSession *session, struct SOMQselector *selector, enum som_qocontrol control, const char *data, int datalen, void *ophandle, int async)
 Perform control operation on Queue Mta. More...
 
int SOMQmtaRead (struct SOMSession *session, struct SOMQselector *selector, int limit, void *ophandle, int async)
 Perform control operation on Queue Mta. More...
 
int SOMQmessageControl (struct SOMSession *session, struct SOMQselector *selector, enum som_qocontrol control, const char *data, int datalen, void *ophandle, int async)
 Perform control operation on Queue Message. More...
 
int SOMQmessageRead (struct SOMSession *session, struct SOMQselector *selector, int limit, void *ophandle, int async)
 Perform control operation on Queue Message. More...
 
int SOMQmessageSearch (struct SOMSession *session, struct SOMQfilter *filter, void *ophandle, int async)
 Perform control operation on Queue Message. More...
 

Detailed Description

The operations which can be performed on the Queue Manager and the objects within that.

Enumeration Type Documentation

Operation codes for Queue Manager Operations

Enumerator
SOM_QM_ABORT 

Terminate Queue Manager immediately

SOM_QM_SHUTDOWN 

Graceful shutdown of Queue Manager

SOM_QM_RESTART 

Stop and restart Queue Manager

SOM_QM_REREADQUEUE 

Reread queue from disk

SOM_QM_DISABLE_SUBMISSION 

Disable submission

SOM_QM_ENABLE_SUBMISSION 

Enable submission

SOM_QM_DISABLE_ALL 

Disable all channels

SOM_QM_ENABLE_ALL 

Enable all channels

SOM_QM_INCREASE_MAXCHANS 

Increase by one the processing limit

SOM_QM_DECREASE_MAXCHANS 

Decrease by one the processing limit

SOM_QM_LOAD_CONFIG 

Load configuration if changed

Definition at line 591 of file queue.h.

Operation codes for operations on Channels, MTAs and Messages

Enumerator
SOM_QO_STOP 

Disable the object

SOM_QO_START 

Enable the object

SOM_QO_DISABLE_IN 

Disable inbound connections

SOM_QO_ENABLE_IN 

Enable inbound connections

SOM_QO_DELAY_CLEAR 

Clear any delay on the object

SOM_QO_DELAY_SET 

Delay processing until given time. Requires time in UTC format

SOM_QO_MINIMISE 

Set/Clear minimum priority on channel If no data is specified, resets the state Data should be: 'priority'[/['start-time'][/'stop-time']] where the priority can be a name or a number, and the start/stop date-times are in the format YYYYMMDDHHMMSS<zone>.

SOM_QO_DELETE 

Delete the message or MTA

SOM_QO_CONNECT 

Connect MTA

SOM_QO_DISCONNECT 

Disconnect MTA

SOM_QO_TIMEOUT 

Timeout the message

SOM_QO_NONDELIVER 

Non-deliver the message. Requires DSN code and optional text info.

SOM_QO_REDIRECT 

Redirect a recipient of the message

SOM_QO_REPROCESS 

Reprocess the message's recipient routing information

SOM_QO_RELOAD 

Reload information from queue to manager

SOM_QO_ABORT 

Abort processing of message

SOM_QO_PAUSE 

Pause processing of message

SOM_QO_RESUME 

Resume processing of message

Definition at line 606 of file queue.h.

Function Documentation

int SOMQueueControl ( struct SOMSession session,
enum som_qmcontrol  control,
void *  ophandle,
int  async 
)

Perform control operation on Queue Manager.

Parameters
session[in] Pointer to address of session object
control[in] Enumerated value indicating the operation
ophandle[in] Value passed to callback
async[in] Operation is asynchronous if TRUE
Returns
zero on success; non-zero on error
int SOMQueueStatus ( struct SOMSession session,
void *  ophandle,
int  async 
)

Get current Queue Manager status.

Parameters
session[in] Pointer to address of session object
ophandle[in] Value passed to callback
async[in] Operation is asynchronous if TRUE
Returns
zero on success; non-zero on error

After a successful return, or in the callback routine if async., the manager data can be retrieved via the session object using SOMQmanagerGetStrParam and SOMQmanagerGetIntParam

int SOMQchannelControl ( struct SOMSession session,
struct SOMQselector *  selector,
enum som_qocontrol  control,
const char *  data,
int  datalen,
void *  ophandle,
int  async 
)

Perform control operation on Queue Channel.

Parameters
session[in] Pointer to address of session object
selector[in] Pointer to selector which selects the channel(s)
control[in] Enumerated value indicating the operation
data[in] Pointer to value used for some operations
datalen[in] Length of data. Can be -1 if data is NUL terminated
ophandle[in] Value passed to callback
async[in] Operation is asynchronous if TRUE
Returns
zero on success; non-zero on error

Channel data is returned via the callback for the channels affected by this operation.

int SOMQchannelRead ( struct SOMSession session,
struct SOMQselector *  selector,
void *  ophandle,
int  async 
)

Perform control operation on Queue Channel.

Parameters
session[in] Pointer to address of session object
selector[in] Pointer to selector which selects the channel(s)
ophandle[in] Value passed to callback
async[in] Operation is asynchronous if TRUE
Returns
zero on success; non-zero on error

Channel data is returned via the callback for the channels selected by this operation.

int SOMQmtaControl ( struct SOMSession session,
struct SOMQselector *  selector,
enum som_qocontrol  control,
const char *  data,
int  datalen,
void *  ophandle,
int  async 
)

Perform control operation on Queue Mta.

Parameters
session[in] Pointer to address of session object
selector[in] Pointer to selector which selects the mta(s)
control[in] Enumerated value indicating the operation
data[in] Pointer to value used for some operations
datalen[in] Length of data. Can be -1 if data is NUL terminated
ophandle[in] Value passed to callback
async[in] Operation is asynchronous if TRUE
Returns
zero on success; non-zero on error

Mta data is returned via the callback for the mtas affected by this operation.

int SOMQmtaRead ( struct SOMSession session,
struct SOMQselector *  selector,
int  limit,
void *  ophandle,
int  async 
)

Perform control operation on Queue Mta.

Parameters
session[in] Pointer to address of session object
selector[in] Pointer to selector which selects the mta(s)
limit[in] Limit on number of MTAs returned
ophandle[in] Value passed to callback
async[in] Operation is asynchronous if TRUE
Returns
zero on success; non-zero on error

Mta data is returned via the callback for the mtas selected by this operation.

If limit is zero, there is no limit. If a limit is set, then if more would be returned, then the operation returns an error, but MTAs are reported via the call-back.

int SOMQmessageControl ( struct SOMSession session,
struct SOMQselector *  selector,
enum som_qocontrol  control,
const char *  data,
int  datalen,
void *  ophandle,
int  async 
)

Perform control operation on Queue Message.

Parameters
session[in] Pointer to address of session object
selector[in] Pointer to selector which selects the message(s)
control[in] Enumerated value indicating the operation
data[in] Pointer to value used for some operations
datalen[in] Length of data. Can be -1 if data is NUL terminated
ophandle[in] Value passed to callback
async[in] Operation is asynchronous if TRUE
Returns
zero on success; non-zero on error

Message data is returned via the callback for the messages affected by this operation.

int SOMQmessageRead ( struct SOMSession session,
struct SOMQselector *  selector,
int  limit,
void *  ophandle,
int  async 
)

Perform control operation on Queue Message.

Parameters
session[in] Pointer to address of session object
selector[in] Pointer to selector which selects the message(s)
limit[in] Maximum number of messages to return
ophandle[in] Value passed to callback
async[in] Operation is asynchronous if TRUE
Returns
zero on success; non-zero on error

Message data is returned via the callback for the messages selected by this operation.

int SOMQmessageSearch ( struct SOMSession session,
struct SOMQfilter *  filter,
void *  ophandle,
int  async 
)

Perform control operation on Queue Message.

Parameters
session[in] Pointer to address of session object
filter[in] Pointer to filter chain
ophandle[in] Value passed to callback
async[in] Operation is asynchronous if TRUE
Returns
zero on success; non-zero on error

Message data is returned via the callback for the messages selected by this operation.