/*
* This file is autogenerated with bcop:
* The Compiz option code generator
*
* This program 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 General Public License for more details.
*
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <compiz.h>
#define _BENCH_OPTIONS_INTERNAL
#include "bench_options.h"
static int displayPrivateIndex;
static CompMetadata benchOptionsMetadata;
static CompPluginVTable *benchPluginVTable = NULL;
CompPluginVTable benchOptionsVTable;
#define GET_BENCH_OPTIONS_DISPLAY(d) \
((BenchOptionsDisplay *) (d)->privates[displayPrivateIndex].ptr)
#define BENCH_OPTIONS_DISPLAY(d) \
BenchOptionsDisplay *od = GET_BENCH_OPTIONS_DISPLAY (d)
#define GET_BENCH_OPTIONS_SCREEN(s, od) \
((BenchOptionsScreen *) (s)->privates[(od)->screenPrivateIndex].ptr)
#define BENCH_OPTIONS_SCREEN(s) \
BenchOptionsScreen *os = GET_BENCH_OPTIONS_SCREEN (s, GET_BENCH_OPTIONS_DISPLAY (s->display))
typedef struct _BenchOptionsDisplay
{
int screenPrivateIndex;
CompOption opt[BenchDisplayOptionNum];
benchDisplayOptionChangeNotifyProc notify[BenchDisplayOptionNum];
} BenchOptionsDisplay;
typedef struct _BenchOptionsScreen
{
} BenchOptionsScreen;
CompAction * benchGetInitiate (CompDisplay *d)
{
BENCH_OPTIONS_DISPLAY(d);
return &od->opt[BenchDisplayOptionInitiate].value.action;
}
void benchSetInitiateInitiate (CompDisplay *d, CompActionCallBackProc init)
{
BENCH_OPTIONS_DISPLAY(d);
od->opt[BenchDisplayOptionInitiate].value.action.initiate = init;
}
void benchSetInitiateTerminate (CompDisplay *d, CompActionCallBackProc term)
{
BENCH_OPTIONS_DISPLAY(d);
od->opt[BenchDisplayOptionInitiate].value.action.terminate = term;
}
CompOption * benchGetInitiateOption (CompDisplay *d)
{
BENCH_OPTIONS_DISPLAY(d);
return &od->opt[BenchDisplayOptionInitiate];
}
void benchSetInitiateNotify (CompDisplay *d, benchDisplayOptionChangeNotifyProc notify)
{
BENCH_OPTIONS_DISPLAY(d);
od->notify[BenchDisplayOptionInitiate] = notify;
}
Bool benchGetDisableLimiter (CompDisplay *d)
{
BENCH_OPTIONS_DISPLAY(d);
return od->opt[BenchDisplayOptionDisableLimiter].value.b;
}
CompOption * benchGetDisableLimiterOption (CompDisplay *d)
{
BENCH_OPTIONS_DISPLAY(d);
return &od->opt[BenchDisplayOptionDisableLimiter];
}
void benchSetDisableLimiterNotify (CompDisplay *d, benchDisplayOptionChangeNotifyProc notify)
{
BENCH_OPTIONS_DISPLAY(d);
od->notify[BenchDisplayOptionDisableLimiter] = notify;
}
Bool benchGetOutputScreen (CompDisplay *d)
{
BENCH_OPTIONS_DISPLAY(d);
return od->opt[BenchDisplayOptionOutputScreen].value.b;
}
CompOption * benchGetOutputScreenOption (CompDisplay *d)
{
BENCH_OPTIONS_DISPLAY(d);
return &od->opt[BenchDisplayOptionOutputScreen];
}
void benchSetOutputScreenNotify (CompDisplay *d, benchDisplayOptionChangeNotifyProc notify)
{
BENCH_OPTIONS_DISPLAY(d);
od->notify[BenchDisplayOptionOutputScreen] = notify;
}
int benchGetPositionX (CompDisplay *d)
{
BENCH_OPTIONS_DISPLAY(d);
return od->opt[BenchDisplayOptionPositionX].value.i;
}
CompOption * benchGetPositionXOption (CompDisplay *d)
{
BENCH_OPTIONS_DISPLAY(d);
return &od->opt[BenchDisplayOptionPositionX];
}
void benchSetPositionXNotify (CompDisplay *d, benchDisplayOptionChangeNotifyProc notify)
{
BENCH_OPTIONS_DISPLAY(d);
od->notify[BenchDisplayOptionPositionX] = notify;
}
int benchGetPositionY (CompDisplay *d)
{
BENCH_OPTIONS_DISPLAY(d);
return od->opt[BenchDisplayOptionPositionY].value.i;
}
CompOption * benchGetPositionYOption (CompDisplay *d)
{
BENCH_OPTIONS_DISPLAY(d);
return &od->opt[BenchDisplayOptionPositionY];
}
void benchSetPositionYNotify (CompDisplay *d, benchDisplayOptionChangeNotifyProc notify)
{
BENCH_OPTIONS_DISPLAY(d);
od->notify[BenchDisplayOptionPositionY] = notify;
}
Bool benchGetOutputConsole (CompDisplay *d)
{
BENCH_OPTIONS_DISPLAY(d);
return od->opt[BenchDisplayOptionOutputConsole].value.b;
}
CompOption * benchGetOutputConsoleOption (CompDisplay *d)
{
BENCH_OPTIONS_DISPLAY(d);
return &od->opt[BenchDisplayOptionOutputConsole];
}
void benchSetOutputConsoleNotify (CompDisplay *d, benchDisplayOptionChangeNotifyProc notify)
{
BENCH_OPTIONS_DISPLAY(d);
od->notify[BenchDisplayOptionOutputConsole] = notify;
}
int benchGetConsoleUpdateTime (CompDisplay *d)
{
BENCH_OPTIONS_DISPLAY(d);
return od->opt[BenchDisplayOptionConsoleUpdateTime].value.i;
}
CompOption * benchGetConsoleUpdateTimeOption (CompDisplay *d)
{
BENCH_OPTIONS_DISPLAY(d);
return &od->opt[BenchDisplayOptionConsoleUpdateTime];
}
void benchSetConsoleUpdateTimeNotify (CompDisplay *d, benchDisplayOptionChangeNotifyProc notify)
{
BENCH_OPTIONS_DISPLAY(d);
od->notify[BenchDisplayOptionConsoleUpdateTime] = notify;
}
CompOption * benchGetDisplayOption (CompDisplay *d, BenchDisplayOptions num)
{
BENCH_OPTIONS_DISPLAY(d);
return &od->opt[num];
}
static const CompMetadataOptionInfo benchOptionsDisplayOptionInfo[] = {
{ "initiate", "action", 0, 0, 0 },
{ "disable_limiter", "bool", 0, 0, 0 },
{ "output_screen", "bool", 0, 0, 0 },
{ "position_x", "int", "<min>0</min><max>4096</max>", 0, 0 },
{ "position_y", "int", "<min>0</min><max>4096</max>", 0, 0 },
{ "output_console", "bool", 0, 0, 0 },
{ "console_update_time", "int", "<min>1</min><max>60</max>", 0, 0 },
};
static Bool benchOptionsSetDisplayOption (CompPlugin *plugin, CompDisplay *d, char *name, CompOptionValue *value)
{
BENCH_OPTIONS_DISPLAY(d);
CompOption *o;
int index;
o = compFindOption (od->opt, BenchDisplayOptionNum, name, &index);
if (!o)
return FALSE;
switch (index)
{
case BenchDisplayOptionInitiate:
if (compSetDisplayOption (d, o, value))
{
if (od->notify[BenchDisplayOptionInitiate])
(*od->notify[BenchDisplayOptionInitiate]) (d, o, BenchDisplayOptionInitiate);
return TRUE;
}
break;
case BenchDisplayOptionDisableLimiter:
if (compSetDisplayOption (d, o, value))
{
if (od->notify[BenchDisplayOptionDisableLimiter])
(*od->notify[BenchDisplayOptionDisableLimiter]) (d, o, BenchDisplayOptionDisableLimiter);
return TRUE;
}
break;
case BenchDisplayOptionOutputScreen:
if (compSetDisplayOption (d, o, value))
{
if (od->notify[BenchDisplayOptionOutputScreen])
(*od->notify[BenchDisplayOptionOutputScreen]) (d, o, BenchDisplayOptionOutputScreen);
return TRUE;
}
break;
case BenchDisplayOptionPositionX:
if (compSetDisplayOption (d, o, value))
{
if (od->notify[BenchDisplayOptionPositionX])
(*od->notify[BenchDisplayOptionPositionX]) (d, o, BenchDisplayOptionPositionX);
return TRUE;
}
break;
case BenchDisplayOptionPositionY:
if (compSetDisplayOption (d, o, value))
{
if (od->notify[BenchDisplayOptionPositionY])
(*od->notify[BenchDisplayOptionPositionY]) (d, o, BenchDisplayOptionPositionY);
return TRUE;
}
break;
case BenchDisplayOptionOutputConsole:
if (compSetDisplayOption (d, o, value))
{
if (od->notify[BenchDisplayOptionOutputConsole])
(*od->notify[BenchDisplayOptionOutputConsole]) (d, o, BenchDisplayOptionOutputConsole);
return TRUE;
}
break;
case BenchDisplayOptionConsoleUpdateTime:
if (compSetDisplayOption (d, o, value))
{
if (od->notify[BenchDisplayOptionConsoleUpdateTime])
(*od->notify[BenchDisplayOptionConsoleUpdateTime]) (d, o, BenchDisplayOptionConsoleUpdateTime);
return TRUE;
}
break;
default:
break;
}
return FALSE;
}
static CompOption * benchOptionsGetDisplayOptions (CompPlugin *plugin, CompDisplay *d, int *count)
{
BENCH_OPTIONS_DISPLAY(d);
*count = BenchDisplayOptionNum;
return od->opt;
}
static Bool benchOptionsInitScreen (CompPlugin *p, CompScreen *s)
{
BenchOptionsScreen *os;
BENCH_OPTIONS_DISPLAY (s->display);
os = calloc (1, sizeof(BenchOptionsScreen));
if (!os)
return FALSE;
s->privates[od->screenPrivateIndex].ptr = os;
if (benchPluginVTable && benchPluginVTable->initScreen)
return benchPluginVTable->initScreen (p, s);
return TRUE;
}
static void benchOptionsFiniScreen (CompPlugin *p, CompScreen *s)
{
if (benchPluginVTable && benchPluginVTable->finiScreen)
return benchPluginVTable->finiScreen (p, s);
BENCH_OPTIONS_SCREEN (s);
free (os);
}
static Bool benchOptionsInitDisplay (CompPlugin *p, CompDisplay *d)
{
BenchOptionsDisplay *od;
od = calloc (1, sizeof(BenchOptionsDisplay));
if (!od)
return FALSE;
od->screenPrivateIndex = allocateScreenPrivateIndex(d);
if (od->screenPrivateIndex < 0)
{
free(od);
return FALSE;
}
d->privates[displayPrivateIndex].ptr = od;
if (!compInitDisplayOptionsFromMetadata (d, &benchOptionsMetadata, benchOptionsDisplayOptionInfo, od->opt, BenchDisplayOptionNum))
{
free (od);
return FALSE;
}
if (benchPluginVTable && benchPluginVTable->initDisplay)
return benchPluginVTable->initDisplay (p, d);
return TRUE;
}
static void benchOptionsFiniDisplay (CompPlugin *p, CompDisplay *d)
{
if (benchPluginVTable && benchPluginVTable->finiDisplay)
return benchPluginVTable->finiDisplay (p, d);
BENCH_OPTIONS_DISPLAY (d);
freeScreenPrivateIndex(d, od->screenPrivateIndex);
compFiniDisplayOptions (d, od->opt, BenchDisplayOptionNum);
free (od);
}
static Bool benchOptionsInit (CompPlugin *p)
{
displayPrivateIndex = allocateDisplayPrivateIndex();
if (displayPrivateIndex < 0)
return FALSE;
if (!compInitPluginMetadataFromInfo (&benchOptionsMetadata, "bench",benchOptionsDisplayOptionInfo, BenchDisplayOptionNum, 0, 0))
return FALSE;
compAddMetadataFromFile (&benchOptionsMetadata, "bench");
if (benchPluginVTable && benchPluginVTable->init)
return benchPluginVTable->init (p);
return TRUE;
}
static void benchOptionsFini (CompPlugin *p)
{
if (benchPluginVTable && benchPluginVTable->fini)
return benchPluginVTable->fini (p);
if (displayPrivateIndex >= 0)
freeDisplayPrivateIndex(displayPrivateIndex);
compFiniMetadata (&benchOptionsMetadata);
}
static CompMetadata *
benchOptionsGetMetadata (CompPlugin *plugin)
{
return &benchOptionsMetadata;
}
CompPluginVTable *getCompPluginInfo (void)
{
if (!benchPluginVTable)
{
benchPluginVTable = benchOptionsGetCompPluginInfo ();
memcpy(&benchOptionsVTable, benchPluginVTable, sizeof(CompPluginVTable));
benchOptionsVTable.getMetadata = benchOptionsGetMetadata;
benchOptionsVTable.init = benchOptionsInit;
benchOptionsVTable.fini = benchOptionsFini;
benchOptionsVTable.initDisplay = benchOptionsInitDisplay;
benchOptionsVTable.finiDisplay = benchOptionsFiniDisplay;
benchOptionsVTable.initScreen = benchOptionsInitScreen;
benchOptionsVTable.finiScreen = benchOptionsFiniScreen;
benchOptionsVTable.getDisplayOptions = benchOptionsGetDisplayOptions;
benchOptionsVTable.setDisplayOption = benchOptionsSetDisplayOption;
}
return &benchOptionsVTable;
}
syntax highlighted by Code2HTML, v. 0.9.1