// ********************************************************************** // // Copyright (c) 2003-2018 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. // // ********************************************************************** #ifndef BLOBJECT_H #define BLOBJECT_H #include class BlobjectI : public Ice::BlobjectAsync, private IceUtil::Monitor { public: BlobjectI(); void startBatch(); void flushBatch(); void setConnection(const Ice::ConnectionPtr&); #ifdef ICE_CPP11_MAPPING virtual void ice_invokeAsync(std::vector, std::function&)>, std::function, const Ice::Current&) override; #else virtual void ice_invoke_async(const Ice::AMD_Object_ice_invokePtr&, const std::vector&, const Ice::Current&); #endif private: Ice::ConnectionPtr getConnection(const Ice::Current&); bool _startBatch; Ice::ObjectPrxPtr _batchProxy; Ice::ConnectionPtr _connection; }; ICE_DEFINE_PTR(BlobjectIPtr, BlobjectI); #endif