tizen 2.4 release
[framework/appfw/app-core.git] / include / appcore-internal.h
index d539bdc..03ed76e 100755 (executable)
 #ifndef __APPCORE_INTERNAL_H__
 #define __APPCORE_INTERNAL_H__
 
-#define LOG_TAG "Appcore"
+#define LOG_TAG "APP_CORE"
 
 #include <stdio.h>
+#include <stdbool.h>
 #include <dlog.h>
+#include <bundle.h>
 #include "appcore-common.h"
 
 
 #  define EXPORT_API __attribute__ ((visibility("default")))
 #endif
 
-#ifndef _DLOG_H_
-#  define _ERR(fmt, arg...) \
-       do { fprintf(stderr, "appcore: "fmt"\n", ##arg); } while (0)
-
-#  define _INFO(fmt, arg...) \
-       do { fprintf(stdout, fmt"\n", ##arg); } while (0)
-
-#  define _DBG(fmt, arg...) \
-       do { \
-               if (getenv("APPCORE_DEBUG")) { \
-                       fprintf(stdout, fmt"\n", ##arg); \
-               } \
-       } while (0)
-#else
-#  define _ERR(fmt, arg...) \
-       do { \
-               fprintf(stderr, "appcore: "fmt"\n", ##arg); \
-               LOGE(fmt, ##arg); \
-       } while (0)
+#  define _ERR(fmt, arg...) LOGE(fmt, ##arg)
+#  define _WARN(fmt, arg...) LOGW(fmt, ##arg)
 #  define _INFO(...) LOGI(__VA_ARGS__)
 #  define _DBG(...) LOGD(__VA_ARGS__)
-#endif
 
 #define _warn_if(expr, fmt, arg...) do { \
                if (expr) { \
                } \
        } while (0)
 
+#define goto_if(expr, val) do { \
+                       if(expr) { \
+                               _ERR("(%s) -> goto", #expr); \
+                               goto val; \
+                       } \
+               } while (0)
+
+#define break_if(expr) { \
+                       if(expr) { \
+                               _ERR("(%s) -> break", #expr); \
+                               break; \
+                       } \
+               }
+
+#define continue_if(expr) { \
+                       if(expr) { \
+                               _ERR("(%s) -> continue", #expr); \
+                               continue; \
+                       } \
+               }
+
 /**
  * Appcore internal state
  */
@@ -108,6 +113,7 @@ enum app_event {
        AE_UNKNOWN,
        AE_CREATE,
        AE_TERMINATE,
+       AE_TERMINATE_BGAPP,
        AE_PAUSE,
        AE_RESUME,
        AE_RESET,
@@ -125,6 +131,7 @@ enum sys_event {
        SE_LOWBAT,
        SE_LANGCHG,
        SE_REGIONCHG,
+       SE_SUSPENDED_STATE,
        SE_MAX
 };
 
@@ -132,7 +139,7 @@ enum sys_event {
  * Appcore system event operation
  */
 struct sys_op {
-       int (*func) (void *);
+       int (*func) (void *, void *);
        void *data;
 };
 
@@ -141,6 +148,9 @@ struct sys_op {
  */
 struct appcore {
        int state;
+       unsigned int tid;
+       bool suspended_state;
+       bool allowed_bg;
 
        const struct ui_ops *ops;
        struct sys_op sops[SE_MAX];
@@ -157,15 +167,41 @@ struct ui_ops {
 /* appcore-i18n.c */
 extern void update_lang(void);
 extern int set_i18n(const char *domainname, const char *dirname);
+void update_region(void);
+
 
 /* appcore-X.c */
 extern int x_raise_win(pid_t pid);
+extern int x_pause_win(pid_t pid);
 
 /* appcore-util.c */
 /* extern void stack_trim(void);*/
 
+int appcore_pause_rotation_cb(void);
+int appcore_resume_rotation_cb(void);
+
+struct ui_wm_rotate {
+   int (*set_rotation_cb) (int (*cb) (void *event_info, enum appcore_rm, void *), void *data);
+   int (*unset_rotation_cb) (void);
+   int (*get_rotation_state) (enum appcore_rm *curr);
+   int (*pause_rotation_cb) (void);
+   int (*resume_rotation_cb) (void);
+};
+int appcore_set_wm_rotation(struct ui_wm_rotate* wm_rotate);
+
+void appcore_group_reset(bundle *b);
+void appcore_group_attach();
+void appcore_group_lower();
+unsigned int appcore_get_main_window();
+
+int _appcore_request_to_suspend(int pid);
+int _appcore_init_suspend_dbus_handler(void *data);
+int _appcore_fini_suspend_dbus_handler(void *data);
+
 #define ENV_START "APP_START_TIME"
 
 #define MEMORY_FLUSH_ACTIVATE
 
+#define APPID_MAX 256
+
 #endif                         /* __APPCORE_INTERNAL_H__ */