aboutsummaryrefslogtreecommitdiff
path: root/Gem/develop/include/Gem/RTE/RTE.h
blob: bbcad9460bcca687e7ca51d49d9fbe41ae9acbaf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/*-----------------------------------------------------------------
  LOG
  GEM - Graphics Environment for Multimedia

  generic access to RTE

  Copyright (c) 2012 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
  For information on usage and redistribution, and for a DISCLAIMER OF ALL
  WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.

  -----------------------------------------------------------------*/
#ifndef _INCLUDE__GEM_RTE_RTE_H_
#define _INCLUDE__GEM_RTE_RTE_H_


#include "Gem/ExportDef.h"
#include <string>

namespace gem {
  namespace RTE {
    class GEM_EXTERN RTE {
    private:
      class PIMPL;
      PIMPL*m_pimpl;

      RTE(void);
      virtual ~RTE(void);

    public:
      static RTE*getRuntimeEnvironment(void);

      /**
       * get the Runtime Environemnt's version
       */
      virtual const std::string getVersion(unsigned int&major, unsigned int&minor);

      /**
       * get the Runtime Environemnt's name
       */
      virtual const std::string getName(void);

      /**
       * resolve a function-name in the current RTE
       * @return pointer to the function named 'name', or NULL if it doesn't exist
       */
      virtual void*getFunction(const std::string&name);

      /**
       * find a file in the given context(canvas), searching RTEs search paths
       * @return expanded filename
       */
      virtual std::string findFile(const std::string&name, const std::string&ext, const void*context) const;
    };
  };
};
#endif /* _INCLUDE__GEM_RTE_RTE_H_ */