summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp')
-rw-r--r--cpp/doc/Makefile5
-rw-r--r--cpp/include/Ice/LocalObject.h21
-rw-r--r--cpp/slice/Ice/LocalObject.ice37
-rw-r--r--cpp/slice/Ice/Object.ice33
-rw-r--r--cpp/slice/Ice/ObjectF.ice21
-rw-r--r--cpp/slice/Ice/Proxy.ice58
-rw-r--r--cpp/slice/Ice/ProxyF.ice21
-rw-r--r--cpp/src/Ice/LocalObject.cpp34
-rw-r--r--cpp/src/Slice/Scanner.l22
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;