epoc32/include/stdapis/dbus-1.0/dbus/dbus-shared.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:27:01 +0100
branchSymbian2
changeset 3 e1b950c65cb4
permissions -rw-r--r--
Attempt to represent the S^2->S^3 header reorganisation as a series of "hg rename" operations
     1 /* -*- mode: C; c-file-style: "gnu" -*- */
     2 /* dbus-shared.h  Stuff used by both dbus/dbus.h low-level and C/C++ binding APIs
     3  *
     4  * Copyright (C) 2004 Red Hat, Inc.
     5  *
     6  * Licensed under the Academic Free License version 2.1
     7  * 
     8  * This program is free software; you can redistribute it and/or modify
     9  * it under the terms of the GNU General Public License as published by
    10  * the Free Software Foundation; either version 2 of the License, or
    11  * (at your option) any later version.
    12  *
    13  * This program is distributed in the hope that it will be useful,
    14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    16  * GNU General Public License for more details.
    17  * 
    18  * You should have received a copy of the GNU General Public License
    19  * along with this program; if not, write to the Free Software
    20  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    21  *
    22  */
    23 
    24 #ifndef DBUS_SHARED_H
    25 #define DBUS_SHARED_H
    26 
    27 /* Don't include anything in here from anywhere else. It's
    28  * intended for use by any random library.
    29  */
    30 
    31 #ifdef  __cplusplus
    32 extern "C" {
    33 #if 0
    34 } /* avoids confusing emacs indentation */
    35 #endif
    36 #endif
    37 
    38 /* Normally docs are in .c files, but there isn't a .c file for this. */
    39 /**
    40  * @defgroup DBusShared Shared constants 
    41  * @ingroup  DBus
    42  *
    43  * @brief Shared header included by both libdbus and C/C++ bindings such as the GLib bindings.
    44  *
    45  * Usually a C/C++ binding such as the GLib or Qt binding won't want to include dbus.h in its
    46  * public headers. However, a few constants and macros may be useful to include; those are
    47  * found here and in dbus-protocol.h
    48  *
    49  * @{
    50  */
    51 
    52 
    53 /**
    54  * Well-known bus types. See dbus_bus_get().
    55  */
    56 typedef enum
    57 {
    58   DBUS_BUS_SESSION,    /**< The login session bus */
    59   DBUS_BUS_SYSTEM,     /**< The systemwide bus */
    60   DBUS_BUS_STARTER     /**< The bus that started us, if any */
    61 } DBusBusType;
    62 
    63 /**
    64  * Results that a message handler can return.
    65  */
    66 typedef enum
    67 {
    68   DBUS_HANDLER_RESULT_HANDLED,         /**< Message has had its effect - no need to run more handlers. */ 
    69   DBUS_HANDLER_RESULT_NOT_YET_HANDLED, /**< Message has not had any effect - see if other handlers want it. */
    70   DBUS_HANDLER_RESULT_NEED_MEMORY      /**< Need more memory in order to return #DBUS_HANDLER_RESULT_HANDLED or #DBUS_HANDLER_RESULT_NOT_YET_HANDLED. Please try again later with more memory. */
    71 } DBusHandlerResult;
    72 
    73 /* Bus names */
    74 
    75 /** The bus name used to talk to the bus itself. */
    76 #define DBUS_SERVICE_DBUS      "org.freedesktop.DBus"
    77 
    78 /* Paths */
    79 /** The object path used to talk to the bus itself. */
    80 #define DBUS_PATH_DBUS  "/org/freedesktop/DBus"
    81 /** The object path used in local/in-process-generated messages. */
    82 #define DBUS_PATH_LOCAL "/org/freedesktop/DBus/Local"
    83 
    84 /* Interfaces, these #define don't do much other than
    85  * catch typos at compile time
    86  */
    87 /** The interface exported by the object with #DBUS_SERVICE_DBUS and #DBUS_PATH_DBUS */
    88 #define DBUS_INTERFACE_DBUS           "org.freedesktop.DBus"
    89 /** The interface supported by introspectable objects */
    90 #define DBUS_INTERFACE_INTROSPECTABLE "org.freedesktop.DBus.Introspectable"
    91 /** The interface supported by objects with properties */
    92 #define DBUS_INTERFACE_PROPERTIES     "org.freedesktop.DBus.Properties"
    93 /** The interface supported by most dbus peers */
    94 #define DBUS_INTERFACE_PEER           "org.freedesktop.DBus.Peer"
    95 
    96 /** This is a special interface whose methods can only be invoked
    97  * by the local implementation (messages from remote apps aren't
    98  * allowed to specify this interface).
    99  */
   100 #define DBUS_INTERFACE_LOCAL "org.freedesktop.DBus.Local"
   101 
   102 /* Owner flags */
   103 #define DBUS_NAME_FLAG_ALLOW_REPLACEMENT 0x1 /**< Allow another service to become the primary owner if requested */
   104 #define DBUS_NAME_FLAG_REPLACE_EXISTING  0x2 /**< Request to replace the current primary owner */
   105 #define DBUS_NAME_FLAG_DO_NOT_QUEUE      0x4 /**< If we can not become the primary owner do not place us in the queue */
   106 
   107 /* Replies to request for a name */
   108 #define DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER  1 /**< Service has become the primary owner of the requested name */
   109 #define DBUS_REQUEST_NAME_REPLY_IN_QUEUE       2 /**< Service could not become the primary owner and has been placed in the queue */
   110 #define DBUS_REQUEST_NAME_REPLY_EXISTS         3 /**< Service is already in the queue */
   111 #define DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER  4 /**< Service is already the primary owner */
   112 
   113 /* Replies to releasing a name */
   114 #define DBUS_RELEASE_NAME_REPLY_RELEASED        1 /**< Service was released from the given name */
   115 #define DBUS_RELEASE_NAME_REPLY_NON_EXISTENT    2 /**< The given name does not exist on the bus */
   116 #define DBUS_RELEASE_NAME_REPLY_NOT_OWNER       3 /**< Service is not an owner of the given name */
   117 
   118 /* Replies to service starts */
   119 #define DBUS_START_REPLY_SUCCESS         1 /**< Service was auto started */
   120 #define DBUS_START_REPLY_ALREADY_RUNNING 2 /**< Service was already running */
   121 
   122 /** @} */
   123 
   124 #ifdef __cplusplus
   125 #if 0
   126 { /* avoids confusing emacs indentation */
   127 #endif
   128 }
   129 #endif
   130 
   131 #endif /* DBUS_SHARED_H */