mirror of
https://github.com/edeproject/ede.git
synced 2023-08-10 21:13:03 +03:00
c26b526dcd
Making code DBus optional; all DBus related code is wrapped inside EDELIB_HAVE_DBUS.
61 lines
1.3 KiB
C++
61 lines
1.3 KiB
C++
/*
|
|
* $Id$
|
|
*
|
|
* Evoke, head honcho of everything
|
|
* Part of Equinox Desktop Environment (EDE).
|
|
* Copyright (c) 2007-2009 EDE Authors.
|
|
*
|
|
* This program is licensed under terms of the
|
|
* GNU General Public License version 2 or newer.
|
|
* See COPYING for details.
|
|
*/
|
|
|
|
#ifndef __XSM_H__
|
|
#define __XSM_H__
|
|
|
|
#include <edelib/XSettingsManager.h>
|
|
|
|
#ifdef EDELIB_HAVE_DBUS
|
|
# include <edelib/EdbusConnection.h>
|
|
EDELIB_NS_USING(EdbusConnection)
|
|
#endif
|
|
|
|
EDELIB_NS_USING(XSettingsData)
|
|
|
|
/* XSETTINGS manager with serialization capability. Also it will write/undo to xrdb (X Resource database). */
|
|
class Xsm : public edelib::XSettingsManager {
|
|
private:
|
|
#ifdef EDELIB_HAVE_DBUS
|
|
EdbusConnection* dbus_conn;
|
|
#endif
|
|
|
|
/* replace XResource values from one from XSETTINGS */
|
|
void xresource_replace(void);
|
|
|
|
/* undo old XResource values */
|
|
void xresource_undo(void);
|
|
|
|
/* serve XSETTINGS via D-Bus */
|
|
void xsettings_dbus_serve(void);
|
|
public:
|
|
#ifdef EDELIB_HAVE_DBUS
|
|
Xsm() { dbus_conn = NULL; }
|
|
|
|
~Xsm() { delete dbus_conn; }
|
|
|
|
/* return loaded D-Bus connection */
|
|
EdbusConnection* get_dbus_connection(void) { return dbus_conn; }
|
|
#endif
|
|
|
|
/* access to manager content */
|
|
XSettingsData* get_manager_data(void) { return manager_data; }
|
|
|
|
/* load stored settings */
|
|
bool load_serialized(void);
|
|
|
|
/* store known settings */
|
|
bool save_serialized(void);
|
|
};
|
|
|
|
#endif
|