diff options
author | Matthew Newhook <matthew@zeroc.com> | 2015-03-21 15:35:40 -0230 |
---|---|---|
committer | Matthew Newhook <matthew@zeroc.com> | 2015-03-21 15:35:40 -0230 |
commit | 630a37d2fe66f24518299e705f958b571803c522 (patch) | |
tree | 969723791bdc4d73bb099c19d45554d0ca241ad9 /py/modules/IcePy/Endpoint.cpp | |
parent | Fix some README.md markdown formatting (diff) | |
download | ice-630a37d2fe66f24518299e705f958b571803c522.tar.bz2 ice-630a37d2fe66f24518299e705f958b571803c522.tar.xz ice-630a37d2fe66f24518299e705f958b571803c522.zip |
py -> python
rb -> ruby
objc -> objective-c
cs -> csharp
Diffstat (limited to 'py/modules/IcePy/Endpoint.cpp')
-rw-r--r-- | py/modules/IcePy/Endpoint.cpp | 256 |
1 files changed, 0 insertions, 256 deletions
diff --git a/py/modules/IcePy/Endpoint.cpp b/py/modules/IcePy/Endpoint.cpp deleted file mode 100644 index 0ee59b6c757..00000000000 --- a/py/modules/IcePy/Endpoint.cpp +++ /dev/null @@ -1,256 +0,0 @@ -// ********************************************************************** -// -// Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved. -// -// This copy of Ice is licensed to you under the terms described in the -// ICE_LICENSE file included in this distribution. -// -// ********************************************************************** - -#ifdef _WIN32 -# include <IceUtil/Config.h> -#endif -#include <Endpoint.h> -#include <EndpointInfo.h> -#include <Util.h> - -using namespace std; -using namespace IcePy; - -namespace IcePy -{ - -struct EndpointObject -{ - PyObject_HEAD - Ice::EndpointPtr* endpoint; -}; - -} - -#ifdef WIN32 -extern "C" -#endif -static EndpointObject* -endpointNew(PyTypeObject* /*type*/, PyObject* /*args*/, PyObject* /*kwds*/) -{ - PyErr_Format(PyExc_RuntimeError, STRCAST("An endpoint cannot be created directly")); - return 0; -} - -#ifdef WIN32 -extern "C" -#endif -static void -endpointDealloc(EndpointObject* self) -{ - delete self->endpoint; - Py_TYPE(self)->tp_free(reinterpret_cast<PyObject*>(self)); -} - -#ifdef WIN32 -extern "C" -#endif -static PyObject* -endpointCompare(EndpointObject* p1, PyObject* other, int op) -{ - bool result = false; - - if(PyObject_TypeCheck(other, &EndpointType)) - { - EndpointObject* p2 = reinterpret_cast<EndpointObject*>(other); - - switch(op) - { - case Py_EQ: - result = *p1->endpoint == *p2->endpoint; - break; - case Py_NE: - result = *p1->endpoint != *p2->endpoint; - break; - case Py_LE: - result = *p1->endpoint <= *p2->endpoint; - break; - case Py_GE: - result = *p1->endpoint >= *p2->endpoint; - break; - case Py_LT: - result = *p1->endpoint < *p2->endpoint; - break; - case Py_GT: - result = *p1->endpoint > *p2->endpoint; - break; - } - } - else - { - if(op == Py_EQ) - { - result = false; - } - else if(op == Py_NE) - { - result = true; - } - else - { - PyErr_Format(PyExc_TypeError, "can't compare %s to %s", Py_TYPE(p1)->tp_name, Py_TYPE(other)->tp_name); - return 0; - } - } - - PyObject* r = result ? getTrue() : getFalse(); - Py_INCREF(r); - return r; -} - -#ifdef WIN32 -extern "C" -#endif -static PyObject* -endpointToString(EndpointObject* self) -{ - assert(self->endpoint); - try - { - string str = (*self->endpoint)->toString(); - return createString(str); - } - catch(const Ice::Exception& ex) - { - setPythonException(ex); - return 0; - } -} - -#ifdef WIN32 -extern "C" -#endif -static PyObject* -endpointRepr(EndpointObject* self) -{ - return endpointToString(self); -} - -#ifdef WIN32 -extern "C" -#endif -static PyObject* -endpointGetInfo(EndpointObject* self) -{ - assert(self->endpoint); - try - { - Ice::EndpointInfoPtr info = (*self->endpoint)->getInfo(); - return createEndpointInfo(info); - } - catch(const Ice::Exception& ex) - { - setPythonException(ex); - return 0; - } -} - -static PyMethodDef EndpointMethods[] = -{ - { STRCAST("toString"), reinterpret_cast<PyCFunction>(endpointToString), METH_NOARGS, - PyDoc_STR(STRCAST("toString() -> string")) }, - { STRCAST("getInfo"), reinterpret_cast<PyCFunction>(endpointGetInfo), METH_NOARGS, - PyDoc_STR(STRCAST("getInfo() -> Ice.EndpointInfo")) }, - { 0, 0 } /* sentinel */ -}; - -namespace IcePy -{ - -PyTypeObject EndpointType = -{ - /* The ob_type field must be initialized in the module init function - * to be portable to Windows without using C++. */ - PyVarObject_HEAD_INIT(0, 0) - STRCAST("IcePy.Endpoint"), /* tp_name */ - sizeof(EndpointObject), /* tp_basicsize */ - 0, /* tp_itemsize */ - /* methods */ - reinterpret_cast<destructor>(endpointDealloc), /* tp_dealloc */ - 0, /* tp_print */ - 0, /* tp_getattr */ - 0, /* tp_setattr */ - 0, /* tp_reserved */ - reinterpret_cast<reprfunc>(endpointRepr), /* tp_repr */ - 0, /* tp_as_number */ - 0, /* tp_as_sequence */ - 0, /* tp_as_mapping */ - 0, /* tp_hash */ - 0, /* tp_call */ - 0, /* tp_str */ - 0, /* tp_getattro */ - 0, /* tp_setattro */ - 0, /* tp_as_buffer */ -#if PY_VERSION_HEX >= 0x03000000 - Py_TPFLAGS_DEFAULT | - Py_TPFLAGS_BASETYPE, /* tp_flags */ -#else - Py_TPFLAGS_DEFAULT | - Py_TPFLAGS_BASETYPE | - Py_TPFLAGS_HAVE_RICHCOMPARE, /* tp_flags */ -#endif - 0, /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - reinterpret_cast<richcmpfunc>(endpointCompare), /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - EndpointMethods, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - reinterpret_cast<newfunc>(endpointNew), /* tp_new */ - 0, /* tp_free */ - 0, /* tp_is_gc */ -}; - -}; - -bool -IcePy::initEndpoint(PyObject* module) -{ - if(PyType_Ready(&EndpointType) < 0) - { - return false; - } - PyTypeObject* type = &EndpointType; // Necessary to prevent GCC's strict-alias warnings. - if(PyModule_AddObject(module, STRCAST("Endpoint"), reinterpret_cast<PyObject*>(type)) < 0) - { - return false; - } - - return true; -} - -Ice::EndpointPtr -IcePy::getEndpoint(PyObject* obj) -{ - assert(PyObject_IsInstance(obj, reinterpret_cast<PyObject*>(&EndpointType))); - EndpointObject* eobj = reinterpret_cast<EndpointObject*>(obj); - return *eobj->endpoint; -} - -PyObject* -IcePy::createEndpoint(const Ice::EndpointPtr& endpoint) -{ - EndpointObject* obj = reinterpret_cast<EndpointObject*>(EndpointType.tp_alloc(&EndpointType, 0)); - if(!obj) - { - return 0; - } - obj->endpoint = new Ice::EndpointPtr(endpoint); - return (PyObject*)obj; -} |