summaryrefslogtreecommitdiff
path: root/c/obexport.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/obexport.c')
-rw-r--r--c/obexport.c116
1 files changed, 116 insertions, 0 deletions
diff --git a/c/obexport.c b/c/obexport.c
new file mode 100644
index 00000000..d92e3194
--- /dev/null
+++ b/c/obexport.c
@@ -0,0 +1,116 @@
+#include "obexport.h"
+#include <Python.h>
+#include <glib.h>
+
+static PyMethodDef obMethods[] = {
+ { NULL, NULL, 0, NULL }
+};
+
+#define ADD_INT_CONST(n) (PyModule_AddIntConstant(ob, #n, n))
+
+void obexport_startup()
+{
+ PyObject *ob, *obdict;
+
+ Py_InitModule("ob", obMethods);
+
+ /* get the ob module/dict */
+ ob = PyImport_ImportModule("ob"); /* new */
+ g_assert(ob != NULL);
+ obdict = PyModule_GetDict(ob); /* borrowed */
+ g_assert(obdict != NULL);
+
+ /* define all the constants! */
+
+ /* State */
+ ADD_INT_CONST(State_Starting);
+ ADD_INT_CONST(State_Exiting);
+ ADD_INT_CONST(State_Running);
+
+ /* Corner */
+ ADD_INT_CONST(Corner_TopLeft);
+ ADD_INT_CONST(Corner_TopRight);
+ ADD_INT_CONST(Corner_BottomLeft);
+ ADD_INT_CONST(Corner_BottomRight);
+
+ /* Orientation */
+ ADD_INT_CONST(Orientation_Horz);
+ ADD_INT_CONST(Orientation_Vert);
+
+ /* Gravity */
+ ADD_INT_CONST(Gravity_Forget);
+ ADD_INT_CONST(Gravity_NE);
+ ADD_INT_CONST(Gravity_N);
+ ADD_INT_CONST(Gravity_NW);
+ ADD_INT_CONST(Gravity_W);
+ ADD_INT_CONST(Gravity_SW);
+ ADD_INT_CONST(Gravity_S);
+ ADD_INT_CONST(Gravity_SE);
+ ADD_INT_CONST(Gravity_E);
+ ADD_INT_CONST(Gravity_Center);
+ ADD_INT_CONST(Gravity_Static);
+
+ /* WindowType */
+ ADD_INT_CONST(Type_Desktop);
+ ADD_INT_CONST(Type_Dock);
+ ADD_INT_CONST(Type_Toolbar);
+ ADD_INT_CONST(Type_Menu);
+ ADD_INT_CONST(Type_Utility);
+ ADD_INT_CONST(Type_Splash);
+ ADD_INT_CONST(Type_Dialog);
+ ADD_INT_CONST(Type_Normal);
+
+ /* Function */
+ ADD_INT_CONST(Func_Resize);
+ ADD_INT_CONST(Func_Move);
+ ADD_INT_CONST(Func_Iconify);
+ ADD_INT_CONST(Func_Maximize);
+ ADD_INT_CONST(Func_Shade);
+ ADD_INT_CONST(Func_Fullscreen);
+ ADD_INT_CONST(Func_Close);
+
+ /* Decoration */
+ ADD_INT_CONST(Decor_Titlebar);
+ ADD_INT_CONST(Decor_Handle);
+ ADD_INT_CONST(Decor_Border);
+ ADD_INT_CONST(Decor_Icon);
+ ADD_INT_CONST(Decor_Iconify);
+ ADD_INT_CONST(Decor_Maximize);
+ ADD_INT_CONST(Decor_AllDesktops);
+ ADD_INT_CONST(Decor_Close);
+
+ /* StackLayer */
+ ADD_INT_CONST(Layer_Icon);
+ ADD_INT_CONST(Layer_Desktop);
+ ADD_INT_CONST(Layer_Below);
+ ADD_INT_CONST(Layer_Normal);
+ ADD_INT_CONST(Layer_Above);
+ ADD_INT_CONST(Layer_Top);
+ ADD_INT_CONST(Layer_Fullscreen);
+ ADD_INT_CONST(Layer_Internal);
+
+ /* EventType */
+ ADD_INT_CONST(Logical_EnterWindow);
+ ADD_INT_CONST(Logical_LeaveWindow);
+ ADD_INT_CONST(Logical_NewWindow);
+ ADD_INT_CONST(Logical_CloseWindow);
+ ADD_INT_CONST(Logical_Startup);
+ ADD_INT_CONST(Logical_Shutdown);
+ ADD_INT_CONST(Logical_RequestActivate);
+ ADD_INT_CONST(Logical_Focus);
+ ADD_INT_CONST(Logical_Bell);
+ ADD_INT_CONST(Logical_UrgentWindow);
+ ADD_INT_CONST(Logical_WindowShow);
+ ADD_INT_CONST(Logical_WindowHide);
+ ADD_INT_CONST(Pointer_Press);
+ ADD_INT_CONST(Pointer_Release);
+ ADD_INT_CONST(Pointer_Motion);
+ ADD_INT_CONST(Key_Press);
+ ADD_INT_CONST(Key_Release);
+
+ Py_DECREF(ob);
+}
+
+void obexport_shutdown()
+{
+}