Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/new_class_id/src/lib/util/loading/dynamic_loader.h @ 9798

Last change on this file since 9798 was 9715, checked in by bensch, 18 years ago

renamed newclassid to classid and newobjectlist to objectlist

File size: 797 bytes
RevLine 
[4838]1/*!
[7167]2 * @file dynamic_loader.h
3 * @brief Definition of The Dynamic Loader Factory.
[3245]4*/
[1853]5
[7167]6#ifndef _DYNAMIC_LOADER_H
7#define _DYNAMIC_LOADER_H
[1853]8
[7193]9#include "util/loading/factory.h"
[1853]10
[7167]11#include <string>
[3543]12
[7167]13#define DYNAMIC_LINKAGE_FACTORY(CLASS_NAME, CLASS_ID) \
14          void* DynamicCreator(const TiXmlElement* root) { return new CLASS_NAME(root); };
[3543]15
[7167]16// FORWARD DECLARATION
[2036]17
[3955]18//! A class for ...
[7167]19class DynamicLoader : public Factory
20{
[9715]21  ObjectListDeclaration(DynamicLoader);
[1853]22
[7167]23public:
24  DynamicLoader(const std::string& libName);
25  virtual ~DynamicLoader();
[1853]26
[7167]27  bool loadDynamicLib(const std::string& libName);
28  virtual BaseObject* fabricateObject(const TiXmlElement* root = NULL) const;
[3245]29
[7167]30  static bool loadDyLib(const std::string& libName);
[3245]31
[7167]32
33private:
34  void*      handle;
[1853]35};
36
[7167]37#endif /* _DYNAMIC_LOADER_H */
Note: See TracBrowser for help on using the repository browser.