diff options
author | Mark Spruiell <mes@zeroc.com> | 2008-04-24 01:49:49 -0700 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2008-04-24 01:49:49 -0700 |
commit | e5457947f7b9a0498ffe94ca976614fb87544787 (patch) | |
tree | 9a29d7eec9e8a8a8edfcb1fa64dba217b3719ce9 /py/modules/IcePy/ObjectAdapter.cpp | |
parent | Fixed bug 3039 (diff) | |
download | ice-e5457947f7b9a0498ffe94ca976614fb87544787.tar.bz2 ice-e5457947f7b9a0498ffe94ca976614fb87544787.tar.xz ice-e5457947f7b9a0498ffe94ca976614fb87544787.zip |
bug 711 - accept Unicode objects in Python
Diffstat (limited to 'py/modules/IcePy/ObjectAdapter.cpp')
-rw-r--r-- | py/modules/IcePy/ObjectAdapter.cpp | 60 |
1 files changed, 48 insertions, 12 deletions
diff --git a/py/modules/IcePy/ObjectAdapter.cpp b/py/modules/IcePy/ObjectAdapter.cpp index da0c780b1e3..22b4258b81e 100644 --- a/py/modules/IcePy/ObjectAdapter.cpp +++ b/py/modules/IcePy/ObjectAdapter.cpp @@ -672,8 +672,8 @@ adapterAddFacet(ObjectAdapterObject* self, PyObject* args) PyObject* identityType = lookupType("Ice.Identity"); PyObject* servant; PyObject* id; - char* facet; - if(!PyArg_ParseTuple(args, STRCAST("O!O!s"), objectType, &servant, identityType, &id, &facet)) + PyObject* facetObj; + if(!PyArg_ParseTuple(args, STRCAST("O!O!O"), objectType, &servant, identityType, &id, &facetObj)) { return 0; } @@ -690,6 +690,12 @@ adapterAddFacet(ObjectAdapterObject* self, PyObject* args) return 0; } + string facet; + if(!getStringArg(facetObj, "facet", facet)) + { + return 0; + } + assert(self->adapter); Ice::ObjectPrx proxy; try @@ -747,8 +753,8 @@ adapterAddFacetWithUUID(ObjectAdapterObject* self, PyObject* args) { PyObject* objectType = lookupType("Ice.Object"); PyObject* servant; - char* facet; - if(!PyArg_ParseTuple(args, STRCAST("O!s"), objectType, &servant, &facet)) + PyObject* facetObj; + if(!PyArg_ParseTuple(args, STRCAST("O!O"), objectType, &servant, &facetObj)) { return 0; } @@ -759,6 +765,12 @@ adapterAddFacetWithUUID(ObjectAdapterObject* self, PyObject* args) return 0; } + string facet; + if(!getStringArg(facetObj, "facet", facet)) + { + return 0; + } + assert(self->adapter); Ice::ObjectPrx proxy; try @@ -824,8 +836,8 @@ adapterRemoveFacet(ObjectAdapterObject* self, PyObject* args) { PyObject* identityType = lookupType("Ice.Identity"); PyObject* id; - char* facet; - if(!PyArg_ParseTuple(args, STRCAST("O!s"), identityType, &id, &facet)) + PyObject* facetObj; + if(!PyArg_ParseTuple(args, STRCAST("O!O"), identityType, &id, &facetObj)) { return 0; } @@ -836,6 +848,12 @@ adapterRemoveFacet(ObjectAdapterObject* self, PyObject* args) return 0; } + string facet; + if(!getStringArg(facetObj, "facet", facet)) + { + return 0; + } + assert(self->adapter); Ice::ObjectPtr obj; try @@ -960,8 +978,8 @@ adapterFindFacet(ObjectAdapterObject* self, PyObject* args) { PyObject* identityType = lookupType("Ice.Identity"); PyObject* id; - char* facet; - if(!PyArg_ParseTuple(args, STRCAST("O!s"), identityType, &id, &facet)) + PyObject* facetObj; + if(!PyArg_ParseTuple(args, STRCAST("O!O"), identityType, &id, &facetObj)) { return 0; } @@ -972,6 +990,12 @@ adapterFindFacet(ObjectAdapterObject* self, PyObject* args) return 0; } + string facet; + if(!getStringArg(facetObj, "facet", facet)) + { + return 0; + } + assert(self->adapter); Ice::ObjectPtr obj; try @@ -1092,14 +1116,20 @@ adapterAddServantLocator(ObjectAdapterObject* self, PyObject* args) { PyObject* locatorType = lookupType("Ice.ServantLocator"); PyObject* locator; - char* category; - if(!PyArg_ParseTuple(args, STRCAST("O!s"), locatorType, &locator, &category)) + PyObject* categoryObj; + if(!PyArg_ParseTuple(args, STRCAST("O!O"), locatorType, &locator, &categoryObj)) { return 0; } ServantLocatorWrapperPtr wrapper = new ServantLocatorWrapper(locator); + string category; + if(!getStringArg(categoryObj, "category", category)) + { + return 0; + } + assert(self->adapter); try { @@ -1121,8 +1151,14 @@ extern "C" static PyObject* adapterFindServantLocator(ObjectAdapterObject* self, PyObject* args) { - char* category; - if(!PyArg_ParseTuple(args, STRCAST("s"), &category)) + PyObject* categoryObj; + if(!PyArg_ParseTuple(args, STRCAST("O"), &categoryObj)) + { + return 0; + } + + string category; + if(!getStringArg(categoryObj, "category", category)) { return 0; } |