Files
libreoffice/shell/source/backends/gconfbe/gconflayer.hxx
Oliver Bolte 61e3289254 INTEGRATION: CWS printsetting (1.4.2); FILE ADDED
2006/03/08 13:36:00 obr 1.4.2.1: #i50817# patch applied with minor modifications
2006-03-22 08:37:42 +00:00

143 lines
4.2 KiB
C++

#ifndef GCONFLAYER_HXX_
#define GCONFLAYER_HXX_
#ifndef GCONFBACKEND_HXX_
#include "gconfbackend.hxx"
#endif // GCONFBACKEND_HXX_
#ifndef _COM_SUN_STAR_CONFIGURATION_BACKEND_XLAYER_HPP_
#include <com/sun/star/configuration/backend/XLayer.hpp>
#endif // _COM_SUN_STAR_CONFIGURATION_BACKEND_XLAYER_HPP_
#ifndef _COM_SUN_STAR_CONFIGURATION_BACKEND_BACKENDACCESSEXCEPTION_HPP_
#include <com/sun/star/configuration/backend/BackendAccessException.hpp>
#endif // _COM_SUN_STAR_CONFIGURATION_BACKEND_BACKENDACCESSEXCEPTION_HPP_
#ifndef _COM_SUN_STAR_CONFIGURATION_BACKEND_XLAYERCONTENTDESCIBER_HPP_
#include <com/sun/star/configuration/backend/XLayerContentDescriber.hpp>
#endif // _COM_SUN_STAR_CONFIGURATION_BACKEND_XLAYERCONTENTDESCIBER_HPP_
#ifndef _COM_SUN_STAR_UTIL_XTIMESTAMPED_HPP_
#include <com/sun/star/util/XTimeStamped.hpp>
#endif // _COM_SUN_STAR_UTIL_XTIMESTAMPED_HPP_
#ifndef _CPPUHELPER_IMPLBASE2_HXX_
#include <cppuhelper/implbase2.hxx>
#endif // _CPPUHELPER_IMPLBASE2_HXX_
#define GCONF_PROXY_MODE_KEY "/system/proxy/mode"
#define GCONF_AUTO_SAVE_KEY "/apps/openoffice/auto_save"
enum ConfigurationSetting
{
SETTING_PROXY_MODE,
SETTING_PROXY_HTTP_HOST,
SETTING_PROXY_HTTP_PORT,
SETTING_PROXY_FTP_HOST,
SETTING_PROXY_FTP_PORT,
SETTING_ENABLE_ACCESSIBILITY,
SETTING_MAILER_PROGRAM,
SETTING_WORK_DIRECTORY,
SETTING_USER_GIVENNAME,
SETTING_USER_SURNAME,
#ifdef ENABLE_LOCKDOWN
SETTING_DISABLE_PRINTING,
SETTING_USE_SYSTEM_FILE_DIALOG,
SETTING_DISABLE_UI_CUSTOMIZATION,
SETTING_PRINTING_MODIFIES_DOCUMENT,
SETTING_SHOW_ICONS_IN_MENUS,
SETTING_SHOW_INACTIVE_MENUITEMS,
SETTING_SHOW_FONT_PREVIEW,
SETTING_SHOW_FONT_HISTORY,
SETTING_ENABLE_OPENGL,
SETTING_OPTIMIZE_OPENGL,
SETTING_SAVE_DOCUMENT_WINDOWS,
SETTING_SAVE_DOCUMENT_VIEW_INFO,
SETTING_USE_SYSTEM_FONT,
SETTING_USE_FONT_ANTI_ALIASING,
SETTING_FONT_ANTI_ALIASING_MIN_PIXEL,
SETTING_WARN_CREATE_PDF,
SETTING_WARN_PRINT_DOC,
SETTING_WARN_SAVEORSEND_DOC,
SETTING_WARN_SIGN_DOC,
SETTING_REMOVE_PERSONAL_INFO,
SETTING_RECOMMEND_PASSWORD,
SETTING_UNDO_STEPS,
SETTING_SYMBOL_SET,
SETTING_MACRO_SECURITY_LEVEL,
SETTING_CREATE_BACKUP,
SETTING_WARN_ALIEN_FORMAT,
SETTING_AUTO_SAVE,
SETTING_AUTO_SAVE_INTERVAL,
SETTING_WRITER_DEFAULT_DOC_FORMAT,
SETTING_IMPRESS_DEFAULT_DOC_FORMAT,
SETTING_CALC_DEFAULT_DOC_FORMAT,
#endif // ENABLE_LOCKDOWN
SETTINGS_LAST
};
struct ConfigurationValue
{
const ConfigurationSetting nSettingId;
const gchar *GconfItem;
const char *OOoConfItem;
const char *OOoConfValueType;
const sal_Bool bLocked;
const sal_Bool bNeedsTranslation;
const ConfigurationSetting nDependsOn;
};
namespace css = com::sun::star ;
namespace uno = css::uno ;
namespace lang = css::lang ;
namespace backend = css::configuration::backend ;
namespace util = css::util ;
/**
Implementation of the XLayer interface for the Gconf values mapped into
the org.openoffice.* configuration component.
*/
class GconfLayer : public cppu::WeakImplHelper2<backend::XLayer, util::XTimeStamped>
{
public :
/**
Constructor given the component context
@param xContext The component context
*/
GconfLayer( const uno::Reference<uno::XComponentContext>& xContext,
const ConfigurationValue pConfigurationValuesList[],
const sal_Int32 nConfigurationValues,
const char * pPreloadValuesList[] );
// XLayer
virtual void SAL_CALL readData(
const uno::Reference<backend::XLayerHandler>& xHandler)
throw ( backend::MalformedDataException,
lang::NullPointerException,
lang::WrappedTargetException,
uno::RuntimeException );
// XTimeStamped
virtual rtl::OUString SAL_CALL getTimestamp(void)
throw (uno::RuntimeException);
protected:
/** Destructor */
~GconfLayer(void) {}
private :
uno::Reference<backend::XLayerContentDescriber> m_xLayerContentDescriber;
const ConfigurationValue* m_pConfigurationValuesList;
const sal_Int32 m_nConfigurationValues;
const char** m_pPreloadValuesList;
} ;
#endif // GCONFLAYER