text: #ifndef SCRIPTLIB_LIBRARY_MANAGER_HEADER
  #define SCRIPTLIB_LIBRARY_MANAGER_HEADER
  
  #include <xtl/functional_fwd>
  
  namespace script
  {
  
  //forward declarations
  class Environment;
  
  ///////////////////////////////////////////////////////////////////////////////////////////////////
  ///Менеджер библиотек
  ///////////////////////////////////////////////////////////////////////////////////////////////////
  class LibraryManager
  {
    public:
      typedef xtl::function<void (Environment& environment)> BindHandler;
  
  ///////////////////////////////////////////////////////////////////////////////////////////////////
  ///Регистрация библиотек
  ///////////////////////////////////////////////////////////////////////////////////////////////////
      static void RegisterLibrary        (const char* name, const BindHandler& binder);
      static void UnregisterLibrary      (const char* name);
      static void UnregisterAllLibraries ();
  
  ///////////////////////////////////////////////////////////////////////////////////////////////////
  ///Биндинг библиотек
  ///////////////////////////////////////////////////////////////////////////////////////////////////
      static void BindLibraries (Environment& environment, const char* library_mask);
  };
  
  }
  
  #endif
  