#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
*/
AE_UNKNOWN,
AE_CREATE,
AE_TERMINATE,
+ AE_TERMINATE_BGAPP,
AE_PAUSE,
AE_RESUME,
AE_RESET,
SE_LOWBAT,
SE_LANGCHG,
SE_REGIONCHG,
+ SE_SUSPENDED_STATE,
SE_MAX
};
* Appcore system event operation
*/
struct sys_op {
- int (*func) (void *);
+ int (*func) (void *, void *);
void *data;
};
*/
struct appcore {
int state;
+ unsigned int tid;
+ bool suspended_state;
+ bool allowed_bg;
const struct ui_ops *ops;
struct sys_op sops[SE_MAX];
/* 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__ */