version 1.24, 2002/05/11 03:05:54
|
version 1.27, 2002/05/29 19:29:38
|
|
|
class callback_handle | class callback_handle |
{ | { |
public: | public: |
|
static void * operator new(size_t ); |
|
static void operator delete(void *, size_t); |
|
private: |
|
static callback_handle *_head; |
|
static const int BLOCK_SIZE; |
|
static Mutex _alloc_mut; |
|
|
|
public: |
callback_handle(pegasus_module * module, void *parm) | callback_handle(pegasus_module * module, void *parm) |
: _module(module), _parm(parm) | : _module(module), _parm(parm) |
{ | { |
|
|
client_handle **handle) | client_handle **handle) |
throw(IncompatibleTypes); | throw(IncompatibleTypes); |
| |
|
static ModuleController & get_client_handle(char *controller, |
|
const pegasus_identity & id, |
|
client_handle **handle) |
|
throw(IncompatibleTypes); |
|
|
|
|
void return_client_handle(client_handle *handle); | void return_client_handle(client_handle *handle); |
| |
// send a message to another service | // send a message to another service |
|
|
Boolean ClientSendAsync(const client_handle & handle, | Boolean ClientSendAsync(const client_handle & handle, |
Uint32 msg_handle, | Uint32 msg_handle, |
Uint32 destination_q, | Uint32 destination_q, |
String & destination_module, |
const String & destination_module, |
AsyncRequest *message, | AsyncRequest *message, |
void (*async_callback)(Uint32, Message *, void *), | void (*async_callback)(Uint32, Message *, void *), |
void *callback_parm ) | void *callback_parm ) |
|
|
| |
Boolean ClientSendForget(const client_handle & handle, | Boolean ClientSendForget(const client_handle & handle, |
Uint32 destination_q, | Uint32 destination_q, |
String & destination_module, |
const String & destination_module, |
AsyncRequest *message) | AsyncRequest *message) |
throw(Permission, IPCException); | throw(Permission, IPCException); |
| |