summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJérémy Zurcher <jeremy@asynk.ch>2012-05-21 16:06:41 +0200
committerJérémy Zurcher <jeremy@asynk.ch>2012-05-21 16:06:41 +0200
commit5ff0441b18582d072e2b6b82b75fbd41e3a26bee (patch)
treefdcd1226e742f4f7e2dc95f56b989bb19fa3b118
parent376544017bf7627b5d5e0fa180778ef209591144 (diff)
downloadedoors-5ff0441b18582d072e2b6b82b75fbd41e3a26bee.zip
edoors-5ff0441b18582d072e2b6b82b75fbd41e3a26bee.tar.gz
add minimal implementation
-rw-r--r--src/lib/eiotas_board.c38
-rw-r--r--src/lib/eiotas_door.c38
-rw-r--r--src/lib/eiotas_iota.c46
-rw-r--r--src/lib/eiotas_main.c47
-rw-r--r--src/lib/eiotas_private.h71
-rw-r--r--src/lib/eiotas_room.c38
-rw-r--r--src/lib/eiotas_spin.c39
7 files changed, 317 insertions, 0 deletions
diff --git a/src/lib/eiotas_board.c b/src/lib/eiotas_board.c
new file mode 100644
index 0000000..060373d
--- /dev/null
+++ b/src/lib/eiotas_board.c
@@ -0,0 +1,38 @@
+/* EIOTAS
+ * Copyright (C) 2012 Jérémy Zurcher
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "eina_config.h"
+#endif
+
+#include "eiotas_board.h"
+#include "eiotas_private.h"
+
+EAPI Eiotas_Board*
+eiotas_board_add(const char* name, Eiotas_Room *parent, Eiotas_User_Bits *user_bits)
+{
+ // TODO
+ return NULL;
+}
+
+void eiotas_board_free(Eiotas_Board *board)
+{
+ DBG("Door free 0x%X",board);
+ // TODO
+}
+
diff --git a/src/lib/eiotas_door.c b/src/lib/eiotas_door.c
new file mode 100644
index 0000000..4d58e4d
--- /dev/null
+++ b/src/lib/eiotas_door.c
@@ -0,0 +1,38 @@
+/* EIOTAS
+ * Copyright (C) 2012 Jérémy Zurcher
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "eina_config.h"
+#endif
+
+#include "eiotas_door.h"
+#include "eiotas_private.h"
+
+EAPI Eiotas_Door*
+eiotas_door_add(const char* name, Eiotas_Room *parent, Eiotas_User_Bits *user_bits)
+{
+ // TODO
+ return NULL;
+}
+
+void eiotas_door_free(Eiotas_Door *door)
+{
+ DBG("Door free 0x%X",door);
+ // TODO
+}
+
diff --git a/src/lib/eiotas_iota.c b/src/lib/eiotas_iota.c
new file mode 100644
index 0000000..1e8e8d8
--- /dev/null
+++ b/src/lib/eiotas_iota.c
@@ -0,0 +1,46 @@
+/* EIOTAS
+ * Copyright (C) 2012 Jérémy Zurcher
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "eina_config.h"
+#endif
+
+#include "eiotas_iota.h"
+#include "eiotas_private.h"
+
+void eiotas_iota_init(Eiotas_Iota *iota, const char *name, Eiotas_Iota *parent, Eiotas_Type type)
+{
+ // TODO
+}
+
+void eiotas_iota_desinit(Eiotas_Iota *iota)
+{
+ // TODO
+}
+
+void eiotas_iota_free(Eiotas_Iota *iota)
+{
+ // TODO
+}
+
+EAPI void
+eiotas_iota_show(Eiotas_Iota *iota)
+{
+ DBG("Iota(%d) 0x%X : %s (%s) [0x%X])",iota->type,iota,iota->name,iota->path,iota->parent);
+}
+
diff --git a/src/lib/eiotas_main.c b/src/lib/eiotas_main.c
new file mode 100644
index 0000000..1fe87c3
--- /dev/null
+++ b/src/lib/eiotas_main.c
@@ -0,0 +1,47 @@
+/* EIOTAS
+ * Copyright (C) 2012 Jérémy Zurcher
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "eina_config.h"
+#endif
+
+#include "eiotas_main.h"
+#include "eiotas_private.h"
+#include <stdio.h>
+
+int _eiotas_log_dom;
+
+static Eiotas_Version _version = { VMAJ, VMIN, VMIC };
+
+EAPI Eiotas_Version *eiotas_version = &_version;
+
+EAPI int eiotas_init()
+{
+ if(!eina_init()) {
+ fprintf(stderr,"Error during the initialization of Eina_Log module\n");
+ return EXIT_FAILURE;
+ }
+ _eiotas_log_dom = eina_log_domain_register("eiotas", EINA_COLOR_CYAN);
+ return EXIT_SUCCESS;
+}
+
+EAPI int eiotas_shutdown()
+{
+ return eina_shutdown();
+}
+
diff --git a/src/lib/eiotas_private.h b/src/lib/eiotas_private.h
new file mode 100644
index 0000000..272b16c
--- /dev/null
+++ b/src/lib/eiotas_private.h
@@ -0,0 +1,71 @@
+/* EIOTAS
+ * Copyright (C) 2012 Jérémy Zurcher
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __EIOTAS_PRIVATE_H__
+#define __EIOTAS_PRIVATE_H__
+
+#include "eiotas_config.h"
+#include "eiotas_main.h"
+
+#include <eina_log.h>
+#undef EINA_LOG_DOMAIN_DEFAULT
+#define EINA_LOG_DOMAIN_DEFAULT eiotas_log_dom
+#define EIOTA_LOG_DOMAIN "eiotas"
+
+#define MAX_PATH_LENGTH 256
+#define PATH_SEP '/'
+
+#define CHECK_PARENT() \
+ if(parent==NULL) { \
+ EINA_LOG_ERR("NULL parent not allowed"); \
+ return NULL; \
+ }
+
+#define BUILD_INSTANCE(_type,_x) \
+ _type *_x = (_type*)malloc(sizeof(_type)); \
+ if(_x==NULL) { \
+ EINA_LOG_ERR("malloc error"); \
+ return NULL; \
+ }
+
+#ifdef CRITICAL
+#undef CRITICAL
+#endif
+#define CRITICAL(...) EINA_LOG_DOM_CRIT(_eiotas_log_dom, __VA_ARGS__)
+
+#ifdef ERR
+#undef ERR
+#endif
+#define ERR(...) EINA_LOG_DOM_ERR(_eiotas_log_dom, __VA_ARGS__)
+
+#ifdef WRN
+#undef WRN
+#endif
+#define WRN(...) EINA_LOG_DOM_WARN(_eiotas_log_dom, __VA_ARGS__)
+
+#ifdef INF
+#undef INF
+#endif
+#define INF(...) EINA_LOG_DOM_INFO(_eiotas_log_dom, __VA_ARGS__)
+
+#ifdef DBG
+#undef DBG
+#endif
+#define DBG(...) EINA_LOG_DOM_DBG(_eiotas_log_dom, __VA_ARGS__)
+
+#endif // __EIOTAS_PRIVATE_H__
diff --git a/src/lib/eiotas_room.c b/src/lib/eiotas_room.c
new file mode 100644
index 0000000..9cc4170
--- /dev/null
+++ b/src/lib/eiotas_room.c
@@ -0,0 +1,38 @@
+/* EIOTAS
+ * Copyright (C) 2012 Jérémy Zurcher
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "eina_config.h"
+#endif
+
+#include "eiotas_room.h"
+#include "eiotas_private.h"
+
+EAPI Eiotas_Room*
+eiotas_room_add(const char* name, Eiotas_Room *parent)
+{
+ // TODO
+ return NULL;
+}
+
+void eiotas_room_free(Eiotas_Room *room)
+{
+ DBG("Room free 0x%X",room);
+ // TODO
+}
+
diff --git a/src/lib/eiotas_spin.c b/src/lib/eiotas_spin.c
new file mode 100644
index 0000000..296db70
--- /dev/null
+++ b/src/lib/eiotas_spin.c
@@ -0,0 +1,39 @@
+/* EIOTAS
+ * Copyright (C) 2012 Jérémy Zurcher
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "eina_config.h"
+#endif
+
+#include "eiotas_spin.h"
+#include "eiotas_private.h"
+
+EAPI Eiotas_Spin*
+eiotas_spin_add(const char* name, unsigned int step)
+{
+ // TODO
+ return NULL;
+}
+
+EAPI void
+eiotas_spin_free(Eiotas_Spin *spin)
+{
+ DBG("Spin free 0x%X",spin);
+ // TODO
+}
+