diff -r d0f3a028347a -r 59927b2d3b75 isolationserver/isoserver/inc/isoconnectionmanager.h --- a/isolationserver/isoserver/inc/isoconnectionmanager.h Tue Feb 02 01:10:06 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,171 +0,0 @@ -/* -* ============================================================================ -* Name : isoconnectionmanager.h -* Part of : isolation server. -* Version : %version: 9 % -* -* Copyright © 2007-2008 Nokia. All rights reserved. -* All rights reserved. -* Redistribution and use in source and binary forms, with or without modification, -* are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright notice, this list -* of conditions and the following disclaimer.Redistributions in binary form must -* reproduce the above copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials provided with the distribution. -* Neither the name of the Nokia Corporation nor the names of its contributors may be used -* to endorse or promote products derived from this software without specific prior written -* permission. -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY -* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT -* SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT -* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* ============================================================================ -* Template version: 1.0 -*/ - -/*! -* \def To avoid multiple inclusion of header -*/ - -#ifndef __ICONNECTIONMANAGER_H__ -#define __ICONNECTIONMANAGER_H__ - -#include -#include -#include "isoservermain.h" -# include "msg_enums.h" - -#ifdef __WINSCW__ -/*! \remark Should LOGIN_ARG_COUNT this be hardcoded ? -*/ -#define LOGIN_ARG_COUNT 12 -#else -#define LOGIN_ARG_COUNT 10 -#endif - -/*! \file -* Connection related interfaces. -* client anywhere in the documentation refers to anyone -* using the isoserver -*/ - -/*! \typedef struct login_struct typedefed to login_struct -*/ -typedef struct login_struct login_struct; - -/*! \struct login_struct isoconnectionmanager.h - * \brief Buffer recieved from client for login request is parsed and the - * arguments are put into this structure - * \param hdr_req header request - * \param strs array of strings( which are arguments for login ) - */ -struct login_struct - { - message_hdr_req* hdr_req; - char *strs[LOGIN_ARG_COUNT]; - }; - -/*! \brief This does things after login is successful. Now it sets the isConnected - * variable to ETrue - */ -void action_logedin( ) ; - -/*! \brief This function is registered in action_login for statuschanged signal. - * This function is called by telepathygabble when the status of the user changes - * Once user is connected this function registers for NewChannel signal with telepathygabble - * client is also informed of the status change.. - * - * \param proxy - * \param status status of the user ( connected/connecting/disconnected ) - * \param reason reason for status change(server disconnected/ user requested etc.,) - * \param user_data message header request - * - * \return : Boolean True on success, false on failure - */ - -static gboolean status_changed_cb(DBusGProxy *proxy, - guint status, guint reason, - gpointer user_data) ; - -/*! \brief new_channel_handler is registered as a callback for any new - * channels craetion request, in function status_changed_cb after status is changed - * to log in. new_channel_handler creates channel and also registers for the signals - * MembersChanged for contact related channels and Recieved and SendError for IM - * related channels. - * - * \param proxy unused - * \param object_path object path of the channel - * \param channel_type used to get a new channel - * \param handle_type used to get a new channel, channel handle type - * \param handle used to get a new channel, channel handle - * \param suppress_handler unused - * \param user_data unused - * - * \return void - */ - -static void new_channel_handler( DBusGProxy *proxy, const char *object_path, - const char *channel_type, guint handle_type, - guint handle, gboolean suppress_handler, - gpointer user_data ) ; - - -/*! \brief Is called after logout.. Any cleanup operations to - * be performed here. Setting conn_stat to disconnected, cleaning up - * of resources is done - */ -void action_logedout() ; - -/*! \brief Callback for the logout - * - * \param proxy : unused - * \param error : unused - * \param userdata : unused - * \return : void - */ -void logout_cb( DBusGProxy *proxy, GError *error, gpointer userdata ); - -/*! \brief requests for closing of session. Also closes the search channel. - * \remark should not close the search channel - * - * Request for log - out - * \param pc - message which has the request header - * \return : MEM_ALLOCATION_ERROR or 0 - */ -int action_logout( char* pc ) ; - -/*! \brief validates params, gets a dbus, creates a connection manager, - * and connection. Registers for the statuschange - * - * \param ls_hdr login struct - * \return Errors if invalid param or getting dbus, conn mgr or conn fails else 0 - */ -gint action_login( login_struct* ls_hdr ) ; - -/*! \brief parses the message buffer and validates the parameters. The values are written - * to ls_hdr - * - * \param aMsgBuffer - buf to be parsed - * \param ls_hdr - login_struct struct to which values are written - * \param msg_len - no. of bytes in the message buffer aMsgBuffer - * - */ -gint parse_for_login( gchar* aMsgBuffer, login_struct** ls_hdr, int msg_len ) ; - -/*! \brief Calls parse_for_login to parse and validate the arguments - * And then calls action_login for to do actual login - * - * \param aMsgBuf message buffer - * \param msg_len - len of the message - */ -gint action_parse_login( char* aMsgBuf, int msg_len ) ; - - - -#endif //__ICONNECTIONMANAGER_H__ - \ No newline at end of file