summaryrefslogtreecommitdiff
path: root/cpp/src/Ice
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice')
-rw-r--r--cpp/src/Ice/CommunicatorI.h10
-rw-r--r--cpp/src/Ice/ConnectionI.h10
-rw-r--r--cpp/src/Ice/Initialize.cpp8
-rw-r--r--cpp/src/Ice/Network.cpp2
-rw-r--r--cpp/src/Ice/Proxy.cpp20
5 files changed, 49 insertions, 1 deletions
diff --git a/cpp/src/Ice/CommunicatorI.h b/cpp/src/Ice/CommunicatorI.h
index dc5580180b2..782cbf13b96 100644
--- a/cpp/src/Ice/CommunicatorI.h
+++ b/cpp/src/Ice/CommunicatorI.h
@@ -14,6 +14,7 @@
#include <Ice/DynamicLibraryF.h>
#include <Ice/Initialize.h>
#include <Ice/Communicator.h>
+#include <Ice/CommunicatorAsync.h>
namespace Ice
{
@@ -59,6 +60,15 @@ public:
virtual void flushBatchRequests();
+#ifdef ICE_CPP11
+ virtual ::Ice::AsyncResultPtr begin_flushBatchRequests(
+ const ::IceInternal::Function<void (const ::Ice::Exception&)>& exception,
+ const ::IceInternal::Function<void (bool)>& sent = ::IceInternal::Function<void (bool)>())
+ {
+ return begin_flushBatchRequestsInternal(new Cpp11FnCallbackNC_Communicator_flushBatchRequests(exception, sent), 0);
+ }
+#endif
+
virtual AsyncResultPtr begin_flushBatchRequests();
virtual AsyncResultPtr begin_flushBatchRequests(const CallbackPtr&, const LocalObjectPtr& = 0);
virtual AsyncResultPtr begin_flushBatchRequests(const Callback_Communicator_flushBatchRequestsPtr&,
diff --git a/cpp/src/Ice/ConnectionI.h b/cpp/src/Ice/ConnectionI.h
index 1f448693a38..946a24f0c79 100644
--- a/cpp/src/Ice/ConnectionI.h
+++ b/cpp/src/Ice/ConnectionI.h
@@ -29,6 +29,7 @@
#include <Ice/OutgoingAsyncF.h>
#include <Ice/EventHandler.h>
#include <Ice/Dispatcher.h>
+#include <Ice/ConnectionAsync.h>
#include <deque>
#include <memory>
@@ -103,6 +104,15 @@ public:
void abortBatchRequest();
virtual void flushBatchRequests(); // From Connection.
+
+#ifdef ICE_CPP11
+ virtual ::Ice::AsyncResultPtr begin_flushBatchRequests(
+ const ::IceInternal::Function<void (const ::Ice::Exception&)>& exception,
+ const ::IceInternal::Function<void (bool)>& sent = ::IceInternal::Function<void (bool)>())
+ {
+ return begin_flushBatchRequestsInternal(new Cpp11FnCallbackNC_Connection_flushBatchRequests(exception, sent), 0);
+ }
+#endif
virtual AsyncResultPtr begin_flushBatchRequests();
virtual AsyncResultPtr begin_flushBatchRequests(const CallbackPtr&, const LocalObjectPtr& = 0);
diff --git a/cpp/src/Ice/Initialize.cpp b/cpp/src/Ice/Initialize.cpp
index f8b7f2a3cd4..adbd58424dc 100644
--- a/cpp/src/Ice/Initialize.cpp
+++ b/cpp/src/Ice/Initialize.cpp
@@ -323,3 +323,11 @@ IceInternal::getInstance(const CommunicatorPtr& communicator)
assert(p);
return p->_instance;
}
+
+#ifdef ICE_CPP11
+void
+IceInternal::Cpp11Dispatcher::dispatch(const ::Ice::DispatcherCallPtr& call, const ::Ice::ConnectionPtr& conn)
+{
+ _cb(call, conn);
+}
+#endif
diff --git a/cpp/src/Ice/Network.cpp b/cpp/src/Ice/Network.cpp
index 3a2f6d402e3..d3ed3c505ca 100644
--- a/cpp/src/Ice/Network.cpp
+++ b/cpp/src/Ice/Network.cpp
@@ -1631,7 +1631,7 @@ IceInternal::doBind(SOCKET fd, const Address& addr)
size = 0; // Keep the compiler happy.
}
- if(bind(fd, reinterpret_cast<const struct sockaddr*>(&addr), size) == SOCKET_ERROR)
+ if(::bind(fd, reinterpret_cast<const struct sockaddr*>(&addr), size) == SOCKET_ERROR)
{
closeSocketNoThrow(fd);
SocketException ex(__FILE__, __LINE__);
diff --git a/cpp/src/Ice/Proxy.cpp b/cpp/src/Ice/Proxy.cpp
index ecf1bfbde1d..a9768790b1b 100644
--- a/cpp/src/Ice/Proxy.cpp
+++ b/cpp/src/Ice/Proxy.cpp
@@ -70,6 +70,26 @@ IceInternal::checkedCastImpl(const ObjectPrx& b, const string& f, const string&
return 0;
}
+#ifdef ICE_CPP11
+void
+IceInternal::Cpp11FnOnewayCallbackNC::__completed(const ::Ice::AsyncResultPtr& result) const
+{
+ try
+ {
+ result->getProxy()->__end(result, result->getOperation());
+ }
+ catch(const ::Ice::Exception& ex)
+ {
+ Cpp11FnCallbackNC::__exception(result, ex);
+ return;
+ }
+ if(_cb != nullptr)
+ {
+ _cb();
+ }
+}
+#endif
+
bool
IceProxy::Ice::Object::operator==(const Object& r) const
{