diff options
Diffstat (limited to 'cpp/demo/book/simple_filesystem/FilesystemI.h')
-rwxr-xr-x | cpp/demo/book/simple_filesystem/FilesystemI.h | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/cpp/demo/book/simple_filesystem/FilesystemI.h b/cpp/demo/book/simple_filesystem/FilesystemI.h index ea51a9eae45..226bd99ddec 100755 --- a/cpp/demo/book/simple_filesystem/FilesystemI.h +++ b/cpp/demo/book/simple_filesystem/FilesystemI.h @@ -14,38 +14,44 @@ #include <Filesystem.h> namespace Filesystem { + class DirectoryI; typedef IceUtil::Handle<DirectoryI> DirectoryIPtr; class NodeI : virtual public Node { public: - virtual std::string name(const Ice::Current &); - NodeI(const Ice::CommunicatorPtr &, const std::string &, const DirectoryIPtr & parent); - static Ice::ObjectAdapterPtr _adapter; + virtual std::string name(const Ice::Current&); + NodeI(const Ice::CommunicatorPtr&, const std::string&, const DirectoryIPtr&); + void activate(const Ice::ObjectAdapterPtr&); private: std::string _name; + Ice::Identity _id; DirectoryIPtr _parent; }; + typedef IceUtil::Handle<NodeI> NodeIPtr; + class FileI : virtual public File, virtual public NodeI { public: - virtual Lines read(const Ice::Current &); - virtual void write(const Lines &, - const Ice::Current &); - FileI(const Ice::CommunicatorPtr &, const std::string &, const DirectoryIPtr &); + virtual Lines read(const Ice::Current&); + virtual void write(const Lines&, + const Ice::Current& = Ice::Current()); + FileI(const Ice::CommunicatorPtr&, const std::string&, const DirectoryIPtr&); private: Lines _lines; }; + typedef IceUtil::Handle<FileI> FileIPtr; + class DirectoryI : virtual public Directory, virtual public NodeI { public: - virtual NodeSeq list(const Ice::Current &); - DirectoryI(const Ice::CommunicatorPtr &, const std::string &, const DirectoryIPtr &); - void addChild(NodePrx child); + virtual NodeSeq list(const Ice::Current&); + DirectoryI(const Ice::CommunicatorPtr&, const std::string&, const DirectoryIPtr&); + void addChild(const Filesystem::NodePrx&); private: - NodeSeq _contents; + Filesystem::NodeSeq _contents; }; } |