aboutsummaryrefslogtreecommitdiff
path: root/Gem/develop/include/Gem/RTE/RTE.h
blob: 7bb0d04d1157a8389525e15a53f11301cdd85dc1 (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
57
58
59
60
61
62
63
64
65
/*-----------------------------------------------------------------
  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) const;

  /**
   * 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;

  /**
   * add 'path' to the search-paths (if context==NULL, to the global search path)
   * @return expanded filename
   */
  virtual bool addSearchPath(const std::string&path, void*context);
};
};
};
#endif /* _INCLUDE__GEM_RTE_RTE_H_ */