session.h File Reference

Session API. More...

#include <lwmsg/status.h>
#include <lwmsg/security.h>
#include <lwmsg/common.h>
#include <lwmsg/context.h>

Typedefs

typedef struct LWMsgSession LWMsgSession
 A session. More...
 
typedef struct LWMsgHandle LWMsgHandle
 A handle. More...
 
typedef void(* LWMsgHandleCleanupFunction )(void *handle)
 Handle cleanup callback. More...
 
typedef LWMsgStatus(* LWMsgSessionConstructFunction )(LWMsgSecurityToken *token, void *data, void **session_data)
 Session constructor callback. More...
 
typedef void(* LWMsgSessionDestructFunction )(LWMsgSecurityToken *token, void *session_data)
 Session destructor callback. More...
 

Enumerations

enum  LWMsgHandleType {
  LWMSG_HANDLE_NULL,
  LWMSG_HANDLE_LOCAL,
  LWMSG_HANDLE_REMOTE
}
 Handle type. More...
 

Functions

LWMsgStatus lwmsg_session_register_handle (LWMsgSession *session, const char *typename, void *data, LWMsgHandleCleanupFunction cleanup, LWMsgHandle **handle)
 Register local handle. More...
 
void lwmsg_session_retain_handle (LWMsgSession *session, LWMsgHandle *handle)
 Increase handle reference count. More...
 
void lwmsg_session_release_handle (LWMsgSession *session, LWMsgHandle *handle)
 Decrease handle reference count. More...
 
LWMsgStatus lwmsg_session_unregister_handle (LWMsgSession *session, LWMsgHandle *handle)
 Unregister handle. More...
 
LWMsgStatus lwmsg_session_get_handle_data (LWMsgSession *session, LWMsgHandle *handle, void **data)
 Get handle data. More...
 
LWMsgStatus lwmsg_session_get_handle_location (LWMsgSession *session, LWMsgHandle *handle, LWMsgHandleType *location)
 Query handle type. More...
 
void * lwmsg_session_get_data (LWMsgSession *session)
 Get custom session data. More...
 
LWMsgSecurityTokenlwmsg_session_get_peer_security_token (LWMsgSession *session)
 Get peer security token. More...
 
LWMsgStatus lwmsg_session_acquire_call (LWMsgSession *session, struct LWMsgCall **call)
 Acquire a call handle. More...