struct mwServicePlace * mwServicePlace_new(struct mwSession *session, struct mwPlaceHandler *handler) { struct mwServicePlace *srvc_place; struct mwService *srvc; g_return_val_if_fail(session != NULL, NULL); g_return_val_if_fail(handler != NULL, NULL); srvc_place = g_new0(struct mwServicePlace, 1); srvc_place->handler = handler; srvc = MW_SERVICE(srvc_place); mwService_init(srvc, session, mwService_PLACE); srvc->start = NULL; srvc->stop = (mwService_funcStop) stop; srvc->recv_create = NULL; srvc->recv_accept = recv_channelAccept; srvc->recv_destroy = recv_channelDestroy; srvc->recv = recv; srvc->clear = (mwService_funcClear) clear; srvc->get_name = get_name; srvc->get_desc = get_desc; return srvc_place; }
struct mwServiceFileTransfer * mwServiceFileTransfer_new(struct mwSession *session, struct mwFileTransferHandler *handler) { struct mwServiceFileTransfer *srvc_ft; struct mwService *srvc; g_return_val_if_fail(session != NULL, NULL); g_return_val_if_fail(handler != NULL, NULL); srvc_ft = g_new0(struct mwServiceFileTransfer, 1); srvc = MW_SERVICE(srvc_ft); mwService_init(srvc, session, mwService_FILE_TRANSFER); srvc->recv_create = (mwService_funcRecvCreate) recv_channelCreate; srvc->recv_accept = (mwService_funcRecvAccept) recv_channelAccept; srvc->recv_destroy = (mwService_funcRecvDestroy) recv_channelDestroy; srvc->recv = recv; srvc->clear = (mwService_funcClear) clear; srvc->get_name = name; srvc->get_desc = desc; srvc->start = start; srvc->stop = (mwService_funcStop) stop; srvc_ft->handler = handler; return srvc_ft; }
struct mwServiceConference * mwServiceConference_new(struct mwSession *session, struct mwConferenceHandler *handler) { struct mwServiceConference *srvc_conf; struct mwService *srvc; g_return_val_if_fail(session != NULL, NULL); g_return_val_if_fail(handler != NULL, NULL); srvc_conf = g_new0(struct mwServiceConference, 1); srvc = &srvc_conf->service; mwService_init(srvc, session, mwService_CONFERENCE); srvc->start = start; srvc->stop = (mwService_funcStop) stop; srvc->recv_create = recv_channelCreate; srvc->recv_accept = recv_channelAccept; srvc->recv_destroy = recv_channelDestroy; srvc->recv = recv; srvc->clear = (mwService_funcClear) clear; srvc->get_name = name; srvc->get_desc = desc; srvc_conf->handler = handler; return srvc_conf; }
struct mwServiceDirectory * mwServiceDirectory_new(struct mwSession *session, struct mwDirectoryHandler *handler) { struct mwServiceDirectory *srvc; struct mwService *service; g_return_val_if_fail(session != NULL, NULL); g_return_val_if_fail(handler != NULL, NULL); srvc = g_new0(struct mwServiceDirectory, 1); service = MW_SERVICE(srvc); mwService_init(service, session, SERVICE_DIRECTORY); service->get_name = getName; service->get_desc = getDesc; service->start = (mwService_funcStart) start; service->stop = (mwService_funcStop) stop; service->clear = (mwService_funcClear) clear; service->recv_create = (mwService_funcRecvCreate) recv_create; service->recv_accept = (mwService_funcRecvAccept) recv_accept; service->recv_destroy = (mwService_funcRecvDestroy) recv_destroy; service->recv = (mwService_funcRecv) recv; srvc->handler = handler; srvc->requests = map_guint_new(); srvc->books = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, (GDestroyNotify) book_free); return srvc; }
struct mwServiceStorage *mwServiceStorage_new(struct mwSession *session) { struct mwServiceStorage *srvc_store; struct mwService *srvc; srvc_store = g_new0(struct mwServiceStorage, 1); srvc = MW_SERVICE(srvc_store); mwService_init(srvc, session, mwService_STORAGE); srvc->get_name = get_name; srvc->get_desc = get_desc; srvc->recv_accept = recv_channelAccept; srvc->recv_destroy = recv_channelDestroy; srvc->recv = recv; srvc->start = start; srvc->stop = stop; srvc->clear = clear; return srvc_store; }