Пример #1
0
/**
 * @brief Initialize Azy
 *
 * This function initializes error handlers, events, and
 * logging functions for Azy and must be called prior to making any
 * calls.
 * @return The number of times the function has been called, or -1 on failure
 */
int
azy_init(void)
{
   if (++azy_init_count_ != 1)
     return azy_init_count_;
   if (!eina_init()) return 0;
   azy_log_dom = eina_log_domain_register("azy", EINA_COLOR_BLUE);
   if (azy_log_dom < 0)
     {
        ERR("Could not register 'azy' log domain!");
        goto eina_fail;
     }
   if (!ecore_init()) goto fail;
   if (!ecore_con_init()) goto ecore_fail;

   azy_lib_register_errors_();

   AZY_CLIENT_DISCONNECTED = ecore_event_type_new();
   AZY_CLIENT_UPGRADE = ecore_event_type_new();
   AZY_CLIENT_CONNECTED = ecore_event_type_new();
   AZY_CLIENT_RETURN = ecore_event_type_new();
   AZY_CLIENT_RESULT = ecore_event_type_new();
   AZY_CLIENT_ERROR = ecore_event_type_new();

   AZY_SERVER_CLIENT_ADD = ecore_event_type_new();
   AZY_SERVER_CLIENT_UPGRADE = ecore_event_type_new();
   AZY_SERVER_CLIENT_DEL = ecore_event_type_new();

   AZY_EVENT_DOWNLOAD_STATUS = ecore_event_type_new();

   eina_magic_string_set(AZY_MAGIC_SERVER, "Azy_Server");
   eina_magic_string_set(AZY_MAGIC_SERVER_CLIENT, "Azy_Server_Client");
   eina_magic_string_set(AZY_MAGIC_SERVER_MODULE, "Azy_Server_Module");
   eina_magic_string_set(AZY_MAGIC_SERVER_MODULE_DEF, "Azy_Server_Module_Def");
   eina_magic_string_set(AZY_MAGIC_SERVER_MODULE_METHOD, "Azy_Server_Module_Method");
   eina_magic_string_set(AZY_MAGIC_CLIENT, "Azy_Client");
   eina_magic_string_set(AZY_MAGIC_CLIENT_DATA_HANDLER, "Azy_Client_Handler_Data");
   eina_magic_string_set(AZY_MAGIC_NET, "Azy_Net");
   eina_magic_string_set(AZY_MAGIC_VALUE, "Azy_Value");
   eina_magic_string_set(AZY_MAGIC_CONTENT, "Azy_Content");
   return azy_init_count_;

ecore_fail:
   ecore_shutdown();
fail:
   eina_log_domain_unregister(azy_log_dom);
   azy_log_dom = -1;
eina_fail:
   eina_shutdown();
   return 0;
}
Пример #2
0
int
main(int argc, char **argv)
{
   person *base;
   pilot *sub;

   eina_init();
   eina_magic_string_set(BASETYPE_MAGIC, "person");
   eina_magic_string_static_set(SUBTYPE_MAGIC, "pilot");

   base = person_new("Tyrol");
   sub = pilot_new("thrace", "starbuck");

   print_person(base);
   print_person((person *)sub);

   print_pilot(base); //BAD
   print_pilot(sub);

   eina_shutdown();
}
Пример #3
0
/**
 * @internal
 * @brief Initialize the iterator module.
 *
 * @return #EINA_TRUE on success, #EINA_FALSE on failure.
 *
 * This function sets up the iterator module of Eina. It is called by
 * eina_init().
 *
 * @see eina_init()
 */
Eina_Bool
eina_iterator_init(void)
{
   return eina_magic_string_set(EINA_MAGIC_ITERATOR, EINA_MAGIC_ITERATOR_STR);
}
Пример #4
0
/**
 * @internal
 * @brief Initialize the accessor module.
 *
 * @return #EINA_TRUE on success, #EINA_FALSE on failure.
 *
 * This function sets up the accessor module of Eina. It is called by
 * eina_init().
 *
 * @see eina_init()
 */
Eina_Bool
eina_accessor_init(void)
{
    return eina_magic_string_set(EINA_MAGIC_ACCESSOR, EINA_MAGIC_ACCESSOR_STR);
}
Пример #5
0
EAPI int
eldbus_init(void)
{
   if (_eldbus_init_count++ > 0)
     return _eldbus_init_count;

   if (!eina_init())
     {
        fputs("Eldbus: Unable to initialize eina\n", stderr);
        return 0;
     }

   _eldbus_log_dom = eina_log_domain_register("eldbus", EINA_COLOR_BLUE);
   if (_eldbus_log_dom < 0)
     {
        EINA_LOG_ERR("Unable to create an 'eldbus' log domain");
        eina_shutdown();
        return 0;
     }

   if (!ecore_init())
     {
        ERR("Unable to initialize ecore");
        eina_log_domain_unregister(_eldbus_log_dom);
        _eldbus_log_dom = -1;
        eina_shutdown();
        return 0;
     }

   eina_magic_string_set(ELDBUS_CONNECTION_MAGIC, "Eldbus_Connection");
   eina_magic_string_set(ELDBUS_MESSAGE_MAGIC, "Eldbus_Message");
   eina_magic_string_set(ELDBUS_SIGNAL_HANDLER_MAGIC, "Eldbus_Signal_Handler");
   eina_magic_string_set(ELDBUS_PENDING_MAGIC, "Eldbus_Pending");
   eina_magic_string_set(ELDBUS_OBJECT_MAGIC, "Eldbus_Object");
   eina_magic_string_set(ELDBUS_PROXY_MAGIC, "Eldbus_Proxy");
   eina_magic_string_set(ELDBUS_MESSAGE_ITERATOR_MAGIC, "Eldbus_Message_Iterator");
   eina_magic_string_set(ELDBUS_SERVICE_INTERFACE_MAGIC, "Eldbus_Service_Interface");


   if (!eldbus_message_init()) goto message_failed;
   if (!eldbus_signal_handler_init()) goto signal_handler_failed;
   if (!eldbus_pending_init()) goto pending_failed;
   if (!eldbus_object_init()) goto object_failed;
   if (!eldbus_proxy_init()) goto proxy_failed;
   if (!eldbus_service_init()) goto service_failed;

   return _eldbus_init_count;

service_failed:
   eldbus_proxy_shutdown();
proxy_failed:
   eldbus_object_shutdown();
object_failed:
   eldbus_pending_shutdown();
pending_failed:
   eldbus_signal_handler_shutdown();
signal_handler_failed:
   eldbus_message_shutdown();
message_failed:
   ecore_shutdown();
   eina_log_domain_unregister(_eldbus_log_dom);
   _eldbus_log_dom = -1;
   eina_shutdown();

   return 0;
}