File: PerlOGRECallback.h

package info (click to toggle)
libogre-perl 0.60-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 1,844 kB
  • ctags: 459
  • sloc: perl: 6,204; cpp: 507; makefile: 2
file content (35 lines) | stat: -rw-r--r-- 749 bytes parent folder | download | duplicates (3)
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
#ifndef _PERLOGRE_CALLBACK_H_
#define _PERLOGRE_CALLBACK_H_

#include "perlOGRE.h"
#include <map>
#include <string>
#include <vector>

using namespace std;

// this is a baseclass for the other listeners

class PerlOGRECallback
{
 public:
    PerlOGRECallback(SV *pobj);
    ~PerlOGRECallback();

 protected:
    bool perlCallbackCan(string const &cbmeth);
    bool callPerlCallback(string const &cbmeth) const;
    Ogre::Real callPerlCallbackReal(string const &cbmeth) const;
    void callPerlCallbackVoid(string const &cbmeth) const;

    SV * mPerlObj;

    typedef vector<SV *> CBArgList;
    mutable CBArgList mCallbackArgs;

    typedef map<string, bool> CBCanMap;
    mutable CBCanMap mCanMap;
};


#endif  /* define _PERLOGRE_CALLBACK_H_ */