diff options
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/doc/Makefile | 5 | ||||
-rw-r--r-- | cpp/include/Ice/LocalObject.h | 21 | ||||
-rw-r--r-- | cpp/slice/Ice/LocalObject.ice | 37 | ||||
-rw-r--r-- | cpp/slice/Ice/Object.ice | 33 | ||||
-rw-r--r-- | cpp/slice/Ice/ObjectF.ice | 21 | ||||
-rw-r--r-- | cpp/slice/Ice/Proxy.ice | 58 | ||||
-rw-r--r-- | cpp/slice/Ice/ProxyF.ice | 21 | ||||
-rw-r--r-- | cpp/src/Ice/LocalObject.cpp | 34 | ||||
-rw-r--r-- | cpp/src/Slice/Scanner.l | 22 |
9 files changed, 79 insertions, 173 deletions
diff --git a/cpp/doc/Makefile b/cpp/doc/Makefile index f02ab607de5..d7a9556c909 100644 --- a/cpp/doc/Makefile +++ b/cpp/doc/Makefile @@ -17,12 +17,15 @@ SGMLFILES = manual.sgml \ Properties.sgml \ ReferencesEndpoints.sgml -SLICEFILES = ../slice/Ice/LocalException.ice \ +SLICEFILES = ../slice/Ice/Object.ice \ + ../slice/Ice/LocalObject.ice \ + ../slice/Ice/LocalException.ice \ ../slice/Ice/Properties.ice \ ../slice/Ice/Logger.ice \ ../slice/Ice/Stream.ice \ ../slice/Ice/Communicator.ice \ ../slice/Ice/ObjectFactory.ice \ + ../slice/Ice/UserExceptionFactory.ice \ ../slice/Ice/ObjectAdapter.ice \ ../slice/Ice/ServantLocator.ice \ ../slice/IcePack/Admin.ice \ diff --git a/cpp/include/Ice/LocalObject.h b/cpp/include/Ice/LocalObject.h index 03bf73fd77f..8184cd32f89 100644 --- a/cpp/include/Ice/LocalObject.h +++ b/cpp/include/Ice/LocalObject.h @@ -13,7 +13,6 @@ #include <IceUtil/Shared.h> #include <Ice/LocalObjectF.h> -#include <Ice/ProxyF.h> // TODO... namespace IceInternal { @@ -25,28 +24,8 @@ class BasicStream; namespace Ice { -class ICE_API LocalObjectPtrE -{ -public: - - LocalObjectPtrE() { } - explicit LocalObjectPtrE(const LocalObjectPtrE&); - explicit LocalObjectPtrE(const LocalObjectPtr&); - operator LocalObjectPtr() const; - LocalObject* operator->() const; - operator bool() const; - -protected: - - LocalObjectPtr _ptr; -}; - class ICE_API LocalObject : public ::IceUtil::Shared { -public: - - LocalObject(); - virtual ~LocalObject(); }; } diff --git a/cpp/slice/Ice/LocalObject.ice b/cpp/slice/Ice/LocalObject.ice new file mode 100644 index 00000000000..f1a26f77f60 --- /dev/null +++ b/cpp/slice/Ice/LocalObject.ice @@ -0,0 +1,37 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +// +// This file is not used in the Ice core. It is only for documentation +// purposes, and for tool suchs as <literal>slice2pythonext</literal>. +// + +#ifndef ICE_LOCAL_OBJECT_ICE +#define ICE_LOCAL_OBJECT_ICE + +module Ice +{ + +/** + * + * The base interface for all local objects in Ice. In contrast to + * [Object], no Proxies are generated for local objects, and neither + * the supporting marshaling and unmarshaling code. + * + * @see Ice::Object + * + **/ +local interface \LocalObject +{ +}; + +}; + +#endif diff --git a/cpp/slice/Ice/Object.ice b/cpp/slice/Ice/Object.ice index 0c28d320e19..9eb6a23eac8 100644 --- a/cpp/slice/Ice/Object.ice +++ b/cpp/slice/Ice/Object.ice @@ -8,6 +8,11 @@ // // ********************************************************************** +// +// This file is not used in the Ice core. It is only for documentation +// purposes, and for tools such as <literal>slice2pythonext</literal>. +// + #ifndef ICE_OBJECT_ICE #define ICE_OBJECT_ICE @@ -16,30 +21,32 @@ module Ice /** * - * The base Ice Object. All Ice object derive from this class, however it cannot be - * instantiated (pure virtual). This Slice definition is for use, primarily, by other - * language bindings that need to wrap the C++ implementation. Renamed _guard_Object since - * Object is a keyword. + * The base interface for all objects in Ice. + * + * @see Ice::LocalObject * **/ -local interface _guard_Object +interface \Object { /** * - * Is this class of type className? Returns true if it is, - * this includes if it is a base class of classname. + * Check whether the object is of a certain type. + * + * @param id The type id, which is the same as the fully qualified + * Slice type name. + * + * @return True, if the object is of the specified type, or false + * otherwise. * - * @param className The scoped name of the class we want to compare against. - * **/ - bool _isA(string className); + nonmutating bool _isA(string id); /** * - * Just a simple call to see if this object is still alive. - * + * Check if an object is alive. + * **/ - void _ping(); + nonmutating void _ping(); }; }; diff --git a/cpp/slice/Ice/ObjectF.ice b/cpp/slice/Ice/ObjectF.ice deleted file mode 100644 index 18228afabcf..00000000000 --- a/cpp/slice/Ice/ObjectF.ice +++ /dev/null @@ -1,21 +0,0 @@ -// ********************************************************************** -// -// Copyright (c) 2001 -// MutableRealms, Inc. -// Huntsville, AL, USA -// -// All Rights Reserved -// -// ********************************************************************** - -#ifndef ICE_OBJECT_F_ICE -#define ICE_OBJECT_F_ICE - -module Ice -{ - -local interface _guard_Object; - -}; - -#endif diff --git a/cpp/slice/Ice/Proxy.ice b/cpp/slice/Ice/Proxy.ice deleted file mode 100644 index 2af4866188b..00000000000 --- a/cpp/slice/Ice/Proxy.ice +++ /dev/null @@ -1,58 +0,0 @@ -// ********************************************************************** -// -// Copyright (c) 2001 -// MutableRealms, Inc. -// Huntsville, AL, USA -// -// All Rights Reserved -// -// ********************************************************************** - -#ifndef ICE_PROXY_ICE -#define ICE_PROXY_ICE - -module IceProxy -{ - -module Ice -{ - -/** - * - * The Ice Proxy object. - * Used whenever a remote method call is invoked. - * - **/ -local interface _guard_Object -{ - /** - * - * - **/ - string _getIdentity(); - - Object * _newIdentity(string identity); - - Object * _twoway(); - - Object * _oneway(); - - Object * _batchOneway(); - - Object * _datagram(); - - Object * _batchDatagram(); - - Object * _secure(bool secure); - - Object * _timeout(int timeout); - - void _flush(); - -}; - -}; - -}; - -#endif diff --git a/cpp/slice/Ice/ProxyF.ice b/cpp/slice/Ice/ProxyF.ice deleted file mode 100644 index b109f5f2fa1..00000000000 --- a/cpp/slice/Ice/ProxyF.ice +++ /dev/null @@ -1,21 +0,0 @@ -// ********************************************************************** -// -// Copyright (c) 2001 -// MutableRealms, Inc. -// Huntsville, AL, USA -// -// All Rights Reserved -// -// ********************************************************************** - -#ifndef ICE_PROXY_F_ICE -#define ICE_PROXY_F_ICE - -module Ice -{ - -local interface ObjectPrx; - -}; - -#endif diff --git a/cpp/src/Ice/LocalObject.cpp b/cpp/src/Ice/LocalObject.cpp index 56cce93813f..b4efdd39bb9 100644 --- a/cpp/src/Ice/LocalObject.cpp +++ b/cpp/src/Ice/LocalObject.cpp @@ -16,37 +16,3 @@ using namespace IceInternal; void IceInternal::incRef(LocalObject* p) { p->__incRef(); } void IceInternal::decRef(LocalObject* p) { p->__decRef(); } - -Ice::LocalObjectPtrE::LocalObjectPtrE(const LocalObjectPtrE& p) : - _ptr(p._ptr) -{ -} - -Ice::LocalObjectPtrE::LocalObjectPtrE(const LocalObjectPtr& p) : - _ptr(p) -{ -} - -Ice::LocalObjectPtrE::operator LocalObjectPtr() const -{ - return LocalObjectPtr(dynamic_cast<LocalObject*>(_ptr.get())); -} - -::Ice::LocalObject* -Ice::LocalObjectPtrE::operator->() const -{ - return _ptr.get(); -} - -Ice::LocalObjectPtrE::operator bool() const -{ - return _ptr.get() ? true : false; -} - -Ice::LocalObject::LocalObject() -{ -} - -Ice::LocalObject::~LocalObject() -{ -} diff --git a/cpp/src/Slice/Scanner.l b/cpp/src/Slice/Scanner.l index 8238fad4af8..0754f1cbf2c 100644 --- a/cpp/src/Slice/Scanner.l +++ b/cpp/src/Slice/Scanner.l @@ -297,16 +297,30 @@ using namespace Slice; return ICE_OP_KEYWORD; } -[[:alpha:]_][[:alnum:]_]* { +\\?[[:alpha:]_][[:alnum:]_]* { StringTokPtr ident = new StringTok; - ident->v = yytext; + if (*yytext == '\\') + { + ident->v = yytext + 1; + } + else + { + ident->v = yytext; + } *yylvalp = ident; return ICE_IDENTIFIER; } -[[:alpha:]_][[:alnum:]_]*[[:space:]]*"(" { +\\?[[:alpha:]_][[:alnum:]_]*[[:space:]]*"(" { StringTokPtr ident = new StringTok; - ident->v = yytext; + if (*yytext == '\\') + { + ident->v = yytext + 1; + } + else + { + ident->v = yytext; + } ident->v.erase(ident->v.find_first_of(" \t\v\n\r\f(")); *yylvalp = ident; return ICE_OP_IDENTIFIER; |