You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
3.0 KiB
94 lines
3.0 KiB
/*
|
|
* Compiz configuration system library
|
|
*
|
|
* Copyright (C) 2007 Dennis Kasprzyk <onestone@opencompositing.org>
|
|
* Copyright (C) 2007 Danny Baumann <maniac@opencompositing.org>
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
|
|
#ifndef CCS_BACKEND_H
|
|
#define CCS_BACKEND_H
|
|
|
|
#include <ccs.h>
|
|
|
|
typedef struct _CCSBackend CCSBackend;
|
|
typedef struct _CCSBackendVTable CCSBackendVTable;
|
|
|
|
struct _CCSBackend
|
|
{
|
|
void *dlhand;
|
|
CCSBackendVTable *vTable;
|
|
};
|
|
|
|
typedef CCSBackendVTable * (*BackendGetInfoProc) (void);
|
|
|
|
typedef void (*CCSExecuteEventsFunc) (unsigned int flags);
|
|
|
|
typedef Bool (*CCSInitBackendFunc) (CCSContext * context);
|
|
typedef Bool (*CCSFiniBackendFunc) (CCSContext * context);
|
|
|
|
typedef Bool (*CCSContextReadInitFunc) (CCSContext * context);
|
|
typedef void (*CCSContextReadSettingFunc)
|
|
(CCSContext * context, CCSSetting * setting);
|
|
typedef void (*CCSContextReadDoneFunc) (CCSContext * context);
|
|
|
|
typedef Bool (*CCSContextWriteInitFunc) (CCSContext * context);
|
|
typedef void (*CCSContextWriteSettingFunc)
|
|
(CCSContext * context, CCSSetting * setting);
|
|
typedef void (*CCSContextWriteDoneFunc) (CCSContext * context);
|
|
|
|
typedef Bool (*CCSGetIsIntegratedFunc) (CCSSetting * setting);
|
|
typedef Bool (*CCSGetIsReadOnlyFunc) (CCSSetting * setting);
|
|
|
|
typedef CCSStringList (*CCSGetExistingProfilesFunc) (CCSContext * context);
|
|
typedef Bool (*CCSDeleteProfileFunc) (CCSContext * context, char * name);
|
|
|
|
struct _CCSBackendVTable
|
|
{
|
|
char *name;
|
|
char *shortDesc;
|
|
char *longDesc;
|
|
Bool integrationSupport;
|
|
Bool profileSupport;
|
|
|
|
/* something like a event loop call for the backend,
|
|
so it can check for file changes (gconf changes in the gconf backend)
|
|
no need for reload settings signals anymore */
|
|
CCSExecuteEventsFunc executeEvents;
|
|
|
|
CCSInitBackendFunc backendInit;
|
|
CCSFiniBackendFunc backendFini;
|
|
|
|
CCSContextReadInitFunc readInit;
|
|
CCSContextReadSettingFunc readSetting;
|
|
CCSContextReadDoneFunc readDone;
|
|
|
|
CCSContextWriteInitFunc writeInit;
|
|
CCSContextWriteSettingFunc writeSetting;
|
|
CCSContextWriteDoneFunc writeDone;
|
|
|
|
|
|
CCSGetIsIntegratedFunc getSettingIsIntegrated;
|
|
CCSGetIsReadOnlyFunc getSettingIsReadOnly;
|
|
|
|
CCSGetExistingProfilesFunc getExistingProfiles;
|
|
CCSDeleteProfileFunc deleteProfile;
|
|
};
|
|
|
|
CCSBackendVTable* getBackendInfo (void);
|
|
|
|
#endif
|