meanwhile: mwService Struct Reference

# mwService Struct Reference

`#include <mw_service.h>`

## Detailed Description

A service is the recipient of sendOnCnl messages sent over channels marked with the corresponding service id.

Services provide functionality such as IM relaying, Awareness tracking and notification, and Conference handling. It is a service's responsibility to accept or destroy channels, and to process data sent over those channels

## Data Fields
guint32 | type
| the unique identifier by which this service is registered.
## Related Functions
(Note that these are not member functions.)
mwService_funcClear | clear
| The service's cleanup handler.
GDestroyNotify | client_cleanup
| Optional client data cleanup function.
gpointer | client_data
| Optional client data, not for use by service implementations.
mwService_funcGetDesc | get_desc
mwService_funcGetName | get_name
mwService_funcRecv | recv
| The service's input handler.
mwService_funcRecvAccept | recv_accept
| The service's channel accept handler.
mwService_funcRecvCreate | recv_create
| The service's channel create handler.
mwService_funcRecvDestroy | recv_destroy
| The service's channel destroy handler.
struct mwSession * | session
| session this service is attached to.
mwService_funcStart | start
| The service's start handler.
enum mwServiceState | state
| the state of this service.
mwService_funcStop | stop
| The service's stop handler.

## Friends And Related Function Documentation

mwService_funcClear clear`[related]`

The service's cleanup handler.

Service implementations should presume that mwService::stop will be called first. The clear handler is not for shutting down channels or generating non-cleanup side-effects, it is only for handling tear-down of the service, and will only be called once for any instance.

GDestroyNotify client_cleanup`[related]`

Optional client data cleanup function.

Called with client_data from mwService_free

gpointer client_data`[related]`

Optional client data, not for use by service implementations.

mwService_funcGetDesc get_desc`[related]`

Returns:
  string short description of the service

mwService_funcGetName get_name`[related]`

Returns:
  string short name of the service

mwService_funcRecv recv`[related]`

The service's input handler.

Called when the session receives data on a channel belonging to this service

mwService_funcRecvAccept recv_accept`[related]`

The service's channel accept handler.

Called when the session receives a channel accept message for a channel with a service matching this service's type.

mwService_funcRecvCreate recv_create`[related]`

The service's channel create handler.

Called when the session receives a channel create message with a service matching this service's type.

mwService_funcRecvDestroy recv_destroy`[related]`

The service's channel destroy handler.

Called when the session receives a channel destroy message for a channel with a service matching this service's type.

struct mwSession* session`[related]`

session this service is attached to.

mwService_funcStart start`[related]`

The service's start handler.

Called upon the receipt of a service available message.

enum mwServiceState state`[related]`

the state of this service.

Determines whether or not the session should call the start function upon receipt of a service available message. Should not be set or checked by hand.

mwService_funcStop stop`[related]`

The service's stop handler.

Called when the session is shutting down, or when the service is free'd.

## Field Documentation

guint32 mwService::type

the unique identifier by which this service is registered.

The type value also relates to those channels which will be directed to this service

The documentation for this struct was generated from the following file:

- mw_service.h