// // Copyright (c) ZeroC, Inc. All rights reserved. // #ifndef BLOBJECT_H #define BLOBJECT_H #include #include #include namespace Glacier2 { class Blobject : public Ice::BlobjectArrayAsync, public std::enable_shared_from_this { public: Blobject(std::shared_ptr, std::shared_ptr, const Ice::Context&); void destroy(); virtual void updateObserver(const std::shared_ptr&); void invokeException(std::exception_ptr, std::function&&); protected: void invoke(std::shared_ptr&, const std::pair&, std::function&)>, std::function, const Ice::Current&); const std::shared_ptr _instance; const std::shared_ptr _reverseConnection; private: const bool _forwardContext; const int _requestTraceLevel; const int _overrideTraceLevel; const std::shared_ptr _requestQueue; const Ice::Context _context; }; } #endif