libtelepathy/inc/tp-helpers.h
changeset 10 59927b2d3b75
parent 0 d0f3a028347a
equal deleted inserted replaced
0:d0f3a028347a 10:59927b2d3b75
     1 /*
       
     2  * tp-helpers.h - Header for various helper functions 
       
     3  * for telepathy implementation
       
     4  * Copyright (C) 2005 Collabora Ltd.
       
     5  * 
       
     6  *
       
     7  * This library is free software; you can redistribute it and/or
       
     8  * modify it under the terms of the GNU Lesser General Public
       
     9  * License as published by the Free Software Foundation; either
       
    10  * version 2.1 of the License, or (at your option) any later version.
       
    11  *
       
    12  * This library is distributed in the hope that it will be useful,
       
    13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
       
    14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
       
    15  * Lesser General Public License for more details.
       
    16  *
       
    17  * You should have received a copy of the GNU Lesser General Public
       
    18  * License along with this library; if not, write to the Free Software
       
    19  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
       
    20  */
       
    21 
       
    22 #ifndef __TELEPATHY_HELPERS_H__
       
    23 #define __TELEPATHY_HELPERS_H__
       
    24 
       
    25 #include <glib.h>
       
    26 
       
    27 G_BEGIN_DECLS
       
    28 
       
    29 typedef struct
       
    30 {
       
    31   gpointer key;
       
    32   gpointer value;
       
    33 } TpKeyValue;
       
    34 
       
    35 DBusGConnection * tp_get_bus ();
       
    36 DBusGProxy * tp_get_bus_proxy ();
       
    37 GSList *tp_hash_to_key_value_list(GHashTable *hashtable);
       
    38 void tp_key_value_list_free(GSList *list);
       
    39 
       
    40 
       
    41 typedef struct _tp_connmgr_info TpConnMgrInfo;
       
    42 typedef struct _tp_connmgr_protocol_info TpConnMgrProtInfo;
       
    43 
       
    44 struct _tp_connmgr_protocol_info
       
    45 {
       
    46   gchar **mandatory_params;
       
    47   gchar **optional_params;
       
    48 
       
    49   /* defaul value hash */
       
    50   GHashTable *default_params;
       
    51 };
       
    52 
       
    53 struct _tp_connmgr_info
       
    54 {
       
    55   gchar *name;
       
    56   gchar *bus_name;
       
    57   gchar *object_path;
       
    58   gchar **protocols;
       
    59 
       
    60   /* hash of protocol infos */
       
    61   GHashTable *protocol_info;
       
    62 };
       
    63 
       
    64 /*
       
    65  * Lists all the connection manager files.
       
    66  * @return A list of connection manager names
       
    67  */
       
    68 GSList *tp_connmgr_list_cms(void);
       
    69 
       
    70 /*
       
    71  * Returns the connection manager information for the given connection manager
       
    72  * @param cm: the connection manager name string
       
    73  * @return A struct containing all the information read from the connection
       
    74  * manager file.
       
    75  */
       
    76 TpConnMgrInfo *tp_connmgr_get_info(gchar *cm);
       
    77 
       
    78 
       
    79 G_END_DECLS
       
    80 
       
    81 #endif /* __TELEPATHY_HELPERS_H__ */
       
    82