index.html
Main Page
|
modules.html
Modules
|
namespaces.html
Namespace List
|
hierarchy.html
Class Hierarchy
|
annotated.html
Data Structures
|
dirs.html
Directories
|
files.html
File List
|
namespacemembers.html
Namespace Members
|
functions.html
Data Fields
|
pages.html
Related Pages
dir_000004.html
dbus
dbus-server-protected.h
00001
/* -*- mode: C; c-file-style: "gnu" -*- */
00002
/* dbus-server-protected.h Used by subclasses of DBusServer object (internal to D-BUS implementation)
00003
*
00004
* Copyright (C) 2002  Red Hat Inc.
00005
*
00006
* Licensed under the Academic Free License version 2.1
00007
*
00008
* This program is free software; you can redistribute it and/or modify
00009
* it under the terms of the GNU General Public License as published by
00010
* the Free Software Foundation; either version 2 of the License, or
00011
* (at your option) any later version.
00012
*
00013
* This program is distributed in the hope that it will be useful,
00014
* but WITHOUT ANY WARRANTY; without even the implied warranty of
00015
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00016
* GNU General Public License for more details.
00017
*
00018
* You should have received a copy of the GNU General Public License
00019
* along with this program; if not, write to the Free Software
00020
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00021
*
00022
*/
00023
#ifndef DBUS_SERVER_PROTECTED_H
00024
#define DBUS_SERVER_PROTECTED_H
00025
00026
#include <config.h>
00027
#include <dbus/dbus-internals.h>
00028
#include <dbus/dbus-threads-internal.h>
00029
#include <dbus/dbus-server.h>
00030
#include <dbus/dbus-timeout.h>
00031
#include <dbus/dbus-watch.h>
00032
#include <dbus/dbus-resources.h>
00033
#include <dbus/dbus-dataslot.h>
00034
#include <dbus/dbus-string.h>
00035
00036
group__DBusMacros.html#ga0
DBUS_BEGIN_DECLS
00037
00038
typedef
struct
structDBusServerVTable.html
DBusServerVTable
DBusServerVTable;
00039
typedef
union
unionDBusGUID.html
DBusGUID
DBusGUID;
00040
unionDBusGUID.html
00044
union
DBusGUID
00045 {
unionDBusGUID.html#o0
00046
group__DBusTypes.html#ga3
dbus_uint32_t
unionDBusGUID.html#o0
as_uint32s
[4];
unionDBusGUID.html#o1
00047
unsigned
char
unionDBusGUID.html#o1
as_bytes
[16];
00048 };
00049
structDBusServerVTable.html
00053
struct
DBusServerVTable
00054 {
00055   void        (*
structDBusServerVTable.html#o0
finalize
)      (
structDBusServer.html
DBusServer
*server);
00058   void        (*
structDBusServerVTable.html#o1
disconnect
)    (
structDBusServer.html
DBusServer
*server);
00060 };
00061
structDBusServer.html
00065
struct
structDBusServer.html
DBusServer
00066 {
structDBusServer.html#o0
00067
structDBusAtomic.html
DBusAtomic
structDBusServer.html#o0
refcount
;
structDBusServer.html#o1
00068
const
DBusServerVTable *
structDBusServer.html#o1
vtable
;
structDBusServer.html#o2
00069
DBusMutex *
structDBusServer.html#o2
mutex
;
structDBusServer.html#o3
00071
DBusGUID
structDBusServer.html#o3
guid
;
structDBusServer.html#o4
00073
structDBusString.html
DBusString
structDBusServer.html#o4
guid_hex
;
structDBusServer.html#o5
00075
structDBusWatchList.html
DBusWatchList
*
structDBusServer.html#o5
watches
;
structDBusServer.html#o6
00076
structDBusTimeoutList.html
DBusTimeoutList
*
structDBusServer.html#o6
timeouts
;
structDBusServer.html#o7
00078
char
*
structDBusServer.html#o7
address
;
structDBusServer.html#o8
00080
int
structDBusServer.html#o8
max_connections
;
structDBusServer.html#o9
00082
structDBusDataSlotList.html
DBusDataSlotList
structDBusServer.html#o9
slot_list
;
00084   DBusNewConnectionFunction
structDBusServer.html#o10
new_connection_function
;
00086
void
*
structDBusServer.html#o11
new_connection_data
;
00088
group__DBusMemory.html#ga8
DBusFreeFunction
structDBusServer.html#o12
new_connection_free_data_function
;
structDBusServer.html#o13
00093
char
**
structDBusServer.html#o13
auth_mechanisms
;
structDBusServer.html#o14
00095
unsigned
int
structDBusServer.html#o14
disconnected
: 1;
00097
#ifndef DBUS_DISABLE_CHECKS
structDBusServer.html#o15
00098
unsigned
int
structDBusServer.html#o15
have_server_lock
: 1;
00099
#endif
00100
};
00101
00102
group__DBusTypes.html#ga2
dbus_bool_t
group__DBusServerInternals.html#ga8
_dbus_server_init_base
(
structDBusServer.html
DBusServer
*server,
00103
const
DBusServerVTable *vtable,
00104
const
structDBusString.html
DBusString
*address);
00105
void
group__DBusServerInternals.html#ga9
_dbus_server_finalize_base
(
structDBusServer.html
DBusServer
*server);
00106
group__DBusTypes.html#ga2
dbus_bool_t
group__DBusServerInternals.html#ga11
_dbus_server_add_watch
(
structDBusServer.html
DBusServer
*server,
00107
structDBusWatch.html
DBusWatch
*watch);
00108
void
group__DBusServerInternals.html#ga12
_dbus_server_remove_watch
(
structDBusServer.html
DBusServer
*server,
00109
structDBusWatch.html
DBusWatch
*watch);
00110
void
group__DBusServerInternals.html#ga13
_dbus_server_toggle_watch
(
structDBusServer.html
DBusServer
*server,
00111
structDBusWatch.html
DBusWatch
*watch,
00112
group__DBusTypes.html#ga2
dbus_bool_t
enabled);
00113
group__DBusTypes.html#ga2
dbus_bool_t
group__DBusServerInternals.html#ga15
_dbus_server_add_timeout
(
structDBusServer.html
DBusServer
*server,
00114
structDBusTimeout.html
DBusTimeout
*timeout);
00115
void
group__DBusServerInternals.html#ga16
_dbus_server_remove_timeout
(
structDBusServer.html
DBusServer
*server,
00116
structDBusTimeout.html
DBusTimeout
*timeout);
00117
void
group__DBusServerInternals.html#ga17
_dbus_server_toggle_timeout
(
structDBusServer.html
DBusServer
*server,
00118
structDBusTimeout.html
DBusTimeout
*timeout,
00119
group__DBusTypes.html#ga2
dbus_bool_t
enabled);
00120
00121
void
group__DBusServer.html#ga4
_dbus_server_ref_unlocked
(
structDBusServer.html
DBusServer
*server);
00122
void
group__DBusServer.html#ga5
_dbus_server_unref_unlocked
(
structDBusServer.html
DBusServer
*server);
00123
00124
#ifdef DBUS_DISABLE_CHECKS
00125
#define TOOK_LOCK_CHECK(server)
00126
#define RELEASING_LOCK_CHECK(server)
00127
#define HAVE_LOCK_CHECK(server)
00128
#else
00129
#define TOOK_LOCK_CHECK(server) do {                \
00130
_dbus_assert (!(server)->have_server_lock); \
00131
(server)->have_server_lock = TRUE;          \
00132
} while (0)
00133
#define RELEASING_LOCK_CHECK(server) do {            \
00134
_dbus_assert ((server)->have_server_lock);   \
00135
(server)->have_server_lock = FALSE;          \
00136
} while (0)
00137
#define HAVE_LOCK_CHECK(server)        _dbus_assert ((server)->have_server_lock)
00138
/* A "DO_NOT_HAVE_LOCK_CHECK" is impossible since we need the lock to check the flag */
00139
#endif
00140
00141
#define TRACE_LOCKS 0
00142
00143
#define SERVER_LOCK(server)   do {                                              \
00144
if (TRACE_LOCKS) { _dbus_verbose ("  LOCK: %s\n", _DBUS_FUNCTION_NAME); }   \
00145
_dbus_mutex_lock ((server)->mutex);                                          \
00146
TOOK_LOCK_CHECK (server);                                                   \
00147
} while (0)
00148
00149
#define SERVER_UNLOCK(server) do {                                                      \
00150
if (TRACE_LOCKS) { _dbus_verbose ("  UNLOCK: %s\n", _DBUS_FUNCTION_NAME);  }        \
00151
RELEASING_LOCK_CHECK (server);                                                      \
00152
_dbus_mutex_unlock ((server)->mutex);                                                \
00153
} while (0)
00154
00155
group__DBusMacros.html#ga1
DBUS_END_DECLS
00156
00157
#endif
/* DBUS_SERVER_PROTECTED_H */
Generated on Tue Sep 13 01:28:07 2005 for D-BUS by
http://www.doxygen.org/index.html
doxygen
1.4.4
