summaryrefslogtreecommitdiff
path: root/python/gras
diff options
context:
space:
mode:
authorJosh Blum2013-06-01 16:43:10 -0400
committerJosh Blum2013-06-01 16:43:10 -0400
commitf1b9b9a44b9f50d6cca8234998d7e0adf64e46af (patch)
tree5f7faed39ad80c0febf26716b874787af294e087 /python/gras
parent41c180eece1af536874c8591539aeb0a23f6e134 (diff)
downloadsandhi-f1b9b9a44b9f50d6cca8234998d7e0adf64e46af.tar.gz
sandhi-f1b9b9a44b9f50d6cca8234998d7e0adf64e46af.tar.bz2
sandhi-f1b9b9a44b9f50d6cca8234998d7e0adf64e46af.zip
props: added query functionality to enumerate properties
Diffstat (limited to 'python/gras')
-rw-r--r--python/gras/GRAS_Block.i22
1 files changed, 22 insertions, 0 deletions
diff --git a/python/gras/GRAS_Block.i b/python/gras/GRAS_Block.i
index 4cf245e..bedeb85 100644
--- a/python/gras/GRAS_Block.i
+++ b/python/gras/GRAS_Block.i
@@ -176,6 +176,26 @@ struct BlockPython : Block
}
virtual PMCC _Py_handle_prop_access(const std::string &key, const PMCC &value, const bool set) = 0;
+
+ void dummy_setter(const PMCC &)
+ {
+ //NOP
+ }
+ PMCC dummy_getter(void)
+ {
+ return PMC();
+ }
+
+ void _Py_register_dummy_setter(const std::string &key)
+ {
+ this->register_setter(key, &BlockPython::dummy_setter);
+ }
+
+ void _Py_register_dummy_getter(const std::string &key)
+ {
+ this->register_getter(key, &BlockPython::dummy_getter);
+ }
+
};
}
@@ -291,8 +311,10 @@ class Block(BlockPython):
return PMC_M(getter())
def register_getter(self, key, getter):
+ self._Py_register_dummy_getter(key)
self.__getter_registry[key] = getter
def register_setter(self, key, setter):
+ self._Py_register_dummy_setter(key)
self.__setter_registry[key] = setter
%}