00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef SWIG_pysimulavr_WRAP_H_
00012 #define SWIG_pysimulavr_WRAP_H_
00013
00014 #include <map>
00015 #include <string>
00016
00017
00018 class SwigDirector_PySimulationMember : public PySimulationMember, public Swig::Director {
00019
00020 public:
00021 SwigDirector_PySimulationMember(PyObject *self);
00022 virtual int Step(bool &trueHwStep, SystemClockOffset *timeToNextStepIn_ns);
00023 virtual SystemClockOffset DoStep(bool &trueHwStep);
00024
00025
00026
00027 public:
00028 bool swig_get_inner(const char* name) const {
00029 std::map<std::string, bool>::const_iterator iv = inner.find(name);
00030 return (iv != inner.end() ? iv->second : false);
00031 }
00032
00033 void swig_set_inner(const char* name, bool val) const
00034 { inner[name] = val;}
00035
00036 private:
00037 mutable std::map<std::string, bool> inner;
00038
00039
00040 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
00041
00042 PyObject *swig_get_method(size_t method_index, const char *method_name) const {
00043 PyObject *method = vtable[method_index];
00044 if (!method) {
00045 swig::SwigVar_PyObject name = SWIG_Python_str_FromChar(method_name);
00046 method = PyObject_GetAttr(swig_get_self(), name);
00047 if (method == NULL) {
00048 std::string msg = "Method in class PySimulationMember doesn't exist, undefined ";
00049 msg += method_name;
00050 Swig::DirectorMethodException::raise(msg.c_str());
00051 }
00052 vtable[method_index] = method;
00053 };
00054 return method;
00055 }
00056 private:
00057 mutable swig::SwigVar_PyObject vtable[3];
00058 #endif
00059
00060 };
00061
00062
00063 class SwigDirector_Hardware : public Hardware, public Swig::Director {
00064
00065 public:
00066 SwigDirector_Hardware(PyObject *self, AvrDevice *core);
00067 virtual ~SwigDirector_Hardware();
00068 virtual unsigned int CpuCycle();
00069 virtual void Reset();
00070 virtual void ClearIrqFlag(unsigned int vector);
00071 virtual bool IsLevelInterrupt(unsigned int vector);
00072 virtual bool LevelInterruptPending(unsigned int vector);
00073
00074
00075
00076 public:
00077 bool swig_get_inner(const char* name) const {
00078 std::map<std::string, bool>::const_iterator iv = inner.find(name);
00079 return (iv != inner.end() ? iv->second : false);
00080 }
00081
00082 void swig_set_inner(const char* name, bool val) const
00083 { inner[name] = val;}
00084
00085 private:
00086 mutable std::map<std::string, bool> inner;
00087
00088
00089 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
00090
00091 PyObject *swig_get_method(size_t method_index, const char *method_name) const {
00092 PyObject *method = vtable[method_index];
00093 if (!method) {
00094 swig::SwigVar_PyObject name = SWIG_Python_str_FromChar(method_name);
00095 method = PyObject_GetAttr(swig_get_self(), name);
00096 if (method == NULL) {
00097 std::string msg = "Method in class Hardware doesn't exist, undefined ";
00098 msg += method_name;
00099 Swig::DirectorMethodException::raise(msg.c_str());
00100 }
00101 vtable[method_index] = method;
00102 };
00103 return method;
00104 }
00105 private:
00106 mutable swig::SwigVar_PyObject vtable[5];
00107 #endif
00108
00109 };
00110
00111
00112 class SwigDirector_Pin : public Pin, public Swig::Director {
00113
00114 public:
00115 SwigDirector_Pin(PyObject *self);
00116 SwigDirector_Pin(PyObject *self, Pin const &p);
00117 SwigDirector_Pin(PyObject *self, Pin::T_Pinstate ps);
00118 SwigDirector_Pin(PyObject *self, unsigned char *parentPin, unsigned char mask);
00119 virtual ~SwigDirector_Pin();
00120 virtual void SetInState(Pin const &p);
00121 virtual void RegisterNet(Net *n);
00122 virtual void UnRegisterNet(Net *n);
00123 virtual Pin GetPin();
00124
00125
00126
00127 public:
00128 bool swig_get_inner(const char* name) const {
00129 std::map<std::string, bool>::const_iterator iv = inner.find(name);
00130 return (iv != inner.end() ? iv->second : false);
00131 }
00132
00133 void swig_set_inner(const char* name, bool val) const
00134 { inner[name] = val;}
00135
00136 private:
00137 mutable std::map<std::string, bool> inner;
00138
00139
00140 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
00141
00142 PyObject *swig_get_method(size_t method_index, const char *method_name) const {
00143 PyObject *method = vtable[method_index];
00144 if (!method) {
00145 swig::SwigVar_PyObject name = SWIG_Python_str_FromChar(method_name);
00146 method = PyObject_GetAttr(swig_get_self(), name);
00147 if (method == NULL) {
00148 std::string msg = "Method in class Pin doesn't exist, undefined ";
00149 msg += method_name;
00150 Swig::DirectorMethodException::raise(msg.c_str());
00151 }
00152 vtable[method_index] = method;
00153 };
00154 return method;
00155 }
00156 private:
00157 mutable swig::SwigVar_PyObject vtable[4];
00158 #endif
00159
00160 };
00161
00162
00163 class SwigDirector_RWMemoryMember : public RWMemoryMember, public Swig::Director {
00164
00165 public:
00166 SwigDirector_RWMemoryMember(PyObject *self, TraceValueRegister *registry, std::string const &tracename = "", int const index = -1);
00167 SwigDirector_RWMemoryMember(PyObject *self);
00168 virtual ~SwigDirector_RWMemoryMember();
00169 virtual void set(unsigned char nv);
00170 virtual unsigned char get() const;
00171
00172
00173
00174 public:
00175 bool swig_get_inner(const char* name) const {
00176 std::map<std::string, bool>::const_iterator iv = inner.find(name);
00177 return (iv != inner.end() ? iv->second : false);
00178 }
00179
00180 void swig_set_inner(const char* name, bool val) const
00181 { inner[name] = val;}
00182
00183 private:
00184 mutable std::map<std::string, bool> inner;
00185
00186
00187 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
00188
00189 PyObject *swig_get_method(size_t method_index, const char *method_name) const {
00190 PyObject *method = vtable[method_index];
00191 if (!method) {
00192 swig::SwigVar_PyObject name = SWIG_Python_str_FromChar(method_name);
00193 method = PyObject_GetAttr(swig_get_self(), name);
00194 if (method == NULL) {
00195 std::string msg = "Method in class RWMemoryMember doesn't exist, undefined ";
00196 msg += method_name;
00197 Swig::DirectorMethodException::raise(msg.c_str());
00198 }
00199 vtable[method_index] = method;
00200 };
00201 return method;
00202 }
00203 private:
00204 mutable swig::SwigVar_PyObject vtable[2];
00205 #endif
00206
00207 };
00208
00209
00210 #endif