summaryrefslogtreecommitdiff
path: root/cpp/include/Ice/IncomingAsync.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/include/Ice/IncomingAsync.h')
-rw-r--r--cpp/include/Ice/IncomingAsync.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/cpp/include/Ice/IncomingAsync.h b/cpp/include/Ice/IncomingAsync.h
index 18fccc41008..6a097698db0 100644
--- a/cpp/include/Ice/IncomingAsync.h
+++ b/cpp/include/Ice/IncomingAsync.h
@@ -13,6 +13,7 @@
#include <Ice/IncomingAsyncF.h>
#include <Ice/Incoming.h>
+#ifndef ICE_CPP11_MAPPING
namespace Ice
{
@@ -25,6 +26,7 @@ public:
};
}
+#endif
namespace IceInternal
{
@@ -33,7 +35,12 @@ namespace IceInternal
// We need virtual inheritance from AMDCallback, because we use multiple
// inheritance from Ice::AMDCallback for generated AMD code.
//
-class ICE_API IncomingAsync : public IncomingBase, virtual public Ice::AMDCallback
+class ICE_API IncomingAsync : public IncomingBase,
+#ifdef ICE_CPP11_MAPPING
+ public ::std::enable_shared_from_this<IncomingAsync>
+#else
+ public virtual Ice::AMDCallback
+#endif
{
public:
@@ -44,8 +51,6 @@ public:
virtual void ice_exception(const ::std::exception&);
virtual void ice_exception();
-protected:
-
void __response();
void __exception(const std::exception&);
void __exception();
@@ -72,6 +77,7 @@ private:
}
+#ifndef ICE_CPP11_MAPPING
namespace Ice
{
@@ -104,5 +110,6 @@ public:
}
}
+#endif
#endif