Revision: 575
http://svn.sourceforge.net/pygccxml/?rev=575&view=rev
Author: mbaas
Date: 2006-09-21 23:47:02 -0700 (Thu, 21 Sep 2006)
Log Message:
-----------
1) Switched to the Py++ arg policies. 2) Added a decoration method setAttr() that can be used to set arbitrary attributes on decl_wrappers.
Modified Paths:
--------------
pyplusplus_dev/contrib/pypp_api/pypp_api/__init__.py
pyplusplus_dev/contrib/pypp_api/pypp_api/declwrapper.py
Modified: pyplusplus_dev/contrib/pypp_api/pypp_api/__init__.py
===================================================================
--- pyplusplus_dev/contrib/pypp_api/pypp_api/__init__.py 2006-09-21 19:13:52 UTC (rev 574)
+++ pyplusplus_dev/contrib/pypp_api/pypp_api/__init__.py 2006-09-22 06:47:02 UTC (rev 575)
@@ -67,6 +67,11 @@
PRIVATE = ACCESS_TYPES.PRIVATE
from decltypes import arg, cpp
-from argpolicy import *
+#from argpolicy import *
+from pyplusplus.function_transformers.arg_policies import output_t as Output
+from pyplusplus.function_transformers.arg_policies import input_t as Input
+from pyplusplus.function_transformers.arg_policies import inout_t as InOut
+from pyplusplus.function_transformers.arg_policies import input_array_t as InputArray
+from pyplusplus.function_transformers.arg_policies import output_array_t as OutputArray
-from modulebuilder import ModuleBuilder
\ No newline at end of file
+from modulebuilder import ModuleBuilder
Modified: pyplusplus_dev/contrib/pypp_api/pypp_api/declwrapper.py
===================================================================
--- pyplusplus_dev/contrib/pypp_api/pypp_api/declwrapper.py 2006-09-21 19:13:52 UTC (rev 574)
+++ pyplusplus_dev/contrib/pypp_api/pypp_api/declwrapper.py 2006-09-22 06:47:02 UTC (rev 575)
@@ -254,8 +254,30 @@
if decoration_log!=None:
ps = ", ".join(map(lambda x: str(x), policies))
self._logDecoration("setArgPolicy(%s)"%ps, decl)
- self.modulebuilder.mArgPolicyManager.setArgPolicy(decl, policies)
+ decl.function_transformers.extend(list(policies))
+# self.modulebuilder.mArgPolicyManager.setArgPolicy(decl, policies)
+ # setAttr
+ def setAttr(self, attr, value):
+ """Set an arbitrary attribute.
+
+ Sets an arbitrary attribute on the contained decl_wrappers.
+
+ This method can be used as a backdoor to access Py++
+ decl_wrapper properties that are not directly exposed in
+ pypp_api (yet).
+
+ @param attr: Attribute name
+ @type attr: str
+ @param value: The value that should be set
+ """
+ self._checkLock()
+ for decl in self._iterContained():
+ if decoration_log!=None:
+ self._logDecoration('setAttr("%s", %s)'%(attr,value), decl)
+ setattr(decl, attr, value)
+ return self
+
# addMethod
def addMethod(self, name, impl):
"""Add a new method to a class.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|