138 lines
4.9 KiB
C
138 lines
4.9 KiB
C
|
#define ELM_APP_SERVER_CLASS elm_app_server_class_get()
|
||
|
|
||
|
const Eo_Class *elm_app_server_class_get(void) EINA_CONST;
|
||
|
|
||
|
extern EAPI Eo_Op ELM_APP_SERVER_BASE_ID;
|
||
|
|
||
|
#define ELM_APP_CLIENT_VIEW_OPEN_CANCELED "org.enlightenment.Application.ViewOpenCanceled"
|
||
|
#define ELM_APP_CLIENT_VIEW_OPEN_TIMEOUT "org.enlightenment.Application.ViewOpenTimeout"
|
||
|
#define ELM_APP_CLEINT_VIEW_OPEN_ERROR "org.enlightenment.Application.CouldNotCreateView"
|
||
|
|
||
|
enum
|
||
|
{
|
||
|
ELM_APP_SERVER_SUB_ID_CONSTRUCTOR,
|
||
|
ELM_APP_SERVER_SUB_ID_SAVE,
|
||
|
ELM_APP_SERVER_SUB_ID_CLOSE_ALL,
|
||
|
ELM_APP_SERVER_SUB_ID_VIEW_CHECK,
|
||
|
ELM_APP_SERVER_SUB_ID_TITLE_SET,
|
||
|
ELM_APP_SERVER_SUB_ID_TITLE_GET,
|
||
|
ELM_APP_SERVER_SUB_ID_ICON_SET,
|
||
|
ELM_APP_SERVER_SUB_ID_ICON_GET,
|
||
|
ELM_APP_SERVER_SUB_ID_ICON_PIXELS_SET,
|
||
|
ELM_APP_SERVER_SUB_ID_ICON_PIXELS_GET,
|
||
|
ELM_APP_SERVER_SUB_ID_PACKAGE_GET,
|
||
|
ELM_APP_SERVER_SUB_ID_VIEWS_GET,
|
||
|
ELM_APP_SERVER_SUB_ID_PATH_GET,
|
||
|
ELM_APP_SERVER_SUB_ID_VIEW_ADD,
|
||
|
ELM_APP_SERVER_SUB_ID_LAST
|
||
|
};
|
||
|
|
||
|
#define ELM_APP_SERVER_VIEW_CREATE_DUPLICATE "org.enlightenment.Application.ViewDuplicate"
|
||
|
|
||
|
typedef Eo Elm_App_Server;
|
||
|
typedef Eo Elm_App_Server_View;
|
||
|
|
||
|
typedef Elm_App_Server_View *(*Elm_App_Server_Create_View_Cb)(Elm_App_Server *app, const Eina_Value *args, Eina_Stringshare **error_name, Eina_Stringshare **error_message);
|
||
|
|
||
|
#define ELM_APP_SERVER_ID(sub_id) (ELM_APP_SERVER_BASE_ID + sub_id)
|
||
|
|
||
|
/**
|
||
|
* @def elm_app_server_constructor
|
||
|
* @since 1.8
|
||
|
*
|
||
|
* Class constructor of elm_app_server
|
||
|
*
|
||
|
* @param[in] packageid package of application
|
||
|
* @param[in] create_view_cb callback to be called when user whants to
|
||
|
* open some application view
|
||
|
*/
|
||
|
#define elm_app_server_constructor(packageid, create_view_cb) ELM_APP_SERVER_ID(ELM_APP_SERVER_SUB_ID_CONSTRUCTOR), EO_TYPECHECK(const char *, packageid), EO_TYPECHECK(Elm_App_Server_Create_View_Cb, create_view_cb)
|
||
|
|
||
|
/**
|
||
|
* @def elm_app_server_save
|
||
|
* @since 1.8
|
||
|
*
|
||
|
* Save the state of all views
|
||
|
*/
|
||
|
#define elm_app_server_save() ELM_APP_SERVER_ID(ELM_APP_SERVER_SUB_ID_SAVE)
|
||
|
|
||
|
/**
|
||
|
* @def elm_app_server_close_all
|
||
|
* @since 1.8
|
||
|
*
|
||
|
* Close all views of application
|
||
|
*/
|
||
|
#define elm_app_server_close_all() ELM_APP_SERVER_ID(ELM_APP_SERVER_SUB_ID_CLOSE_ALL)
|
||
|
|
||
|
/**
|
||
|
* @def elm_app_server_title_set
|
||
|
* @since 1.8
|
||
|
*
|
||
|
* Set a title to application.
|
||
|
*
|
||
|
* @param[in] title title of application
|
||
|
*/
|
||
|
#define elm_app_server_title_set(title) ELM_APP_SERVER_ID(ELM_APP_SERVER_SUB_ID_TITLE_SET), EO_TYPECHECK(const char *, title)
|
||
|
|
||
|
/**
|
||
|
* @def elm_app_server_title_get
|
||
|
* @since 1.8
|
||
|
*
|
||
|
* Get title of application
|
||
|
*
|
||
|
* @param[out] ret title of application
|
||
|
*/
|
||
|
#define elm_app_server_title_get(ret) ELM_APP_SERVER_ID(ELM_APP_SERVER_SUB_ID_TITLE_GET), EO_TYPECHECK(Eina_Stringshare **, ret)
|
||
|
|
||
|
#define elm_app_server_icon_set(icon) ELM_APP_SERVER_ID(ELM_APP_SERVER_SUB_ID_ICON_SET), EO_TYPECHECK(const char*, icon)
|
||
|
|
||
|
#define elm_app_server_icon_get(ret) ELM_APP_SERVER_ID(ELM_APP_SERVER_SUB_ID_ICON_GET), EO_TYPECHECK(Eina_Stringshare **, ret)
|
||
|
|
||
|
#define elm_app_server_icon_pixels_set(w, h, has_alpha, pixels) ELM_APP_SERVER_ID(ELM_APP_SERVER_SUB_ID_ICON_PIXELS_SET), EO_TYPECHECK(unsigned int, w), EO_TYPECHECK(unsigned int, h), EO_TYPECHECK(Eina_Bool, has_alpha), EO_TYPECHECK(const unsigned char *, pixels)
|
||
|
|
||
|
#define elm_app_server_icon_pixels_get(w, h, has_alpha, pixels) ELM_APP_SERVER_ID(ELM_APP_SERVER_SUB_ID_ICON_PIXELS_GET), EO_TYPECHECK(unsigned int *, w), EO_TYPECHECK(unsigned int *, h), EO_TYPECHECK(Eina_Bool *, has_alpha), EO_TYPECHECK(const unsigned char **, pixels)
|
||
|
|
||
|
#define elm_app_server_package_get(ret) ELM_APP_SERVER_ID(ELM_APP_SERVER_SUB_ID_PACKAGE_GET), EO_TYPECHECK(Eina_Stringshare **, ret)
|
||
|
|
||
|
#define elm_app_server_path_get(ret) ELM_APP_SERVER_ID(ELM_APP_SERVER_SUB_ID_PATH_GET), EO_TYPECHECK(const char **, ret)
|
||
|
|
||
|
/**
|
||
|
* @def elm_app_server_views_get
|
||
|
* @since 1.8
|
||
|
*
|
||
|
* Return a iterator with all views of application
|
||
|
*
|
||
|
* @param[out] ret Iterator with all views of application, you must free
|
||
|
* iterator after use.
|
||
|
*/
|
||
|
#define elm_app_server_views_get(ret) ELM_APP_SERVER_ID(ELM_APP_SERVER_SUB_ID_VIEWS_GET), EO_TYPECHECK(Eina_Iterator **, ret)
|
||
|
|
||
|
/**
|
||
|
* @def elm_app_server_view_check
|
||
|
* @since 1.8
|
||
|
*
|
||
|
* If view id is available and unique, return the full DBus object path of view
|
||
|
*
|
||
|
* @param[in] id view identifier
|
||
|
* @param[out] ret EINA_TRUE if id is valid or EINA_FALSE if not
|
||
|
*/
|
||
|
#define elm_app_server_view_check(id, ret) ELM_APP_SERVER_ID(ELM_APP_SERVER_SUB_ID_VIEW_CHECK), EO_TYPECHECK(const char *, id), EO_TYPECHECK(Eina_Bool *, ret)
|
||
|
|
||
|
/**
|
||
|
* @def elm_app_server_view_add
|
||
|
* @since 1.8
|
||
|
*
|
||
|
* Add a view to elm_app_server.
|
||
|
* This should only be used if the application open a view
|
||
|
* that was not requested by create_view_cb.
|
||
|
*
|
||
|
* @param[in] view elm_app_server_view
|
||
|
*/
|
||
|
#define elm_app_server_view_add(view) ELM_APP_SERVER_ID(ELM_APP_SERVER_SUB_ID_VIEW_ADD), EO_TYPECHECK(Elm_App_Server_View *, view)
|
||
|
|
||
|
/**
|
||
|
* Events
|
||
|
*/
|
||
|
extern const Eo_Event_Description _ELM_APP_SERVER_EV_TERMINATE;
|
||
|
#define ELM_APP_SERVER_EV_TERMINATE (&(_ELM_APP_SERVER_EV_TERMINATE))
|