Ejemplo n.º 1
0
FOG_NO_EXPORT void Object_init(void)
{
  // Initialize the Object meta class.
  static MetaClass _privateObjectMetaClass;
  static const char _privateObjectClassName[] = "Fog::Object";

  _privateObjectMetaClass.base = NULL;
  _privateObjectMetaClass.name = _privateObjectClassName;

  _privateObjectMetaClass.hashCode = HashUtil::hash(StubA(_privateObjectClassName, FOG_ARRAY_SIZE(_privateObjectClassName) - 1));

  Object::_staticMetaClass = &_privateObjectMetaClass;

  // Initialize the locks.
  Object::_internalLock.init();
  Object_memPoolLock.init();

  // Initialize the memory pools.
  Object_memPoolExtra.init();
  Object_memPoolConn.init();

  // Initialize the ObjectExtra null (initial) instance.
  Object_extraNull.init();
}
Ejemplo n.º 2
0
FOG_NO_EXPORT void Application_init(void)
{
  Application_local.init();

  // --------------------------------------------------------------------------
  // [Default]
  // --------------------------------------------------------------------------

  Application::registerEventLoop(FOG_S(APPLICATION_Core_Default), Application_DefaultEventLoopConstructor);

  // --------------------------------------------------------------------------
  // [Windows]
  // --------------------------------------------------------------------------

#if defined(FOG_OS_WINDOWS)
  Application::registerEventLoop(FOG_S(APPLICATION_Core_Win), Application_WinEventLoopConstructor);
# if defined(FOG_BUILD_UI)
  Application::registerUIEngine(FOG_S(APPLICATION_UI_Win), Application_WinUIEngineConstructor);
# endif // FOG_BUILD_UI
#endif // FOG_OS_WINDOWS

  // --------------------------------------------------------------------------
  // [Mac]
  // --------------------------------------------------------------------------

#if defined(FOG_OS_MAC)
  Application::registerEventLoop(FOG_S(APPLICATION_Core_Mac), Application_MacEventLoopConstructor);
# if defined(FOG_BUILD_UI)
  Application::registerUIEngine(FOG_S(APPLICATION_UI_Mac), Application_MacUIEngineConstructor);
# endif // FOG_BUILD_UI && FOG_OS_MAC
#endif // FOG_OS_MAC

  // --------------------------------------------------------------------------
  // [X11]
  // --------------------------------------------------------------------------

#if defined(FOG_BUILD_UI_X11) && !defined(FOG_BUILD_UI_X11_MODULE)
  Application::registerUIEngine(FOG_S(APPLICATION_UI_X11), Application_X11UIEngineConstructor);
#endif // FOG_BUILD_UI_X11 && !FOG_BUILD_UI_X11_MODULE
}