1 // **********************************************************************
3 // Copyright (c) 2003-2011 ZeroC, Inc. All rights reserved.
5 // This copy of Ice is licensed to you under the terms described in the
6 // ICE_LICENSE file included in this distribution.
8 // **********************************************************************
10 #ifndef PERSISTENT_FILESYSTEM_I_H
11 #define PERSISTENT_FILESYSTEM_I_H
13 #include <PersistentFilesystem.h>
14 #include <IceUtil/IceUtil.h>
15 #include <Freeze/Freeze.h>
20 class FileI
: virtual public PersistentFile
26 virtual std::string
name(const Ice::Current
&);
27 virtual void destroy(const Ice::Current
&);
29 virtual Lines
read(const Ice::Current
&);
30 virtual void write(const Lines
&, const Ice::Current
&);
32 static Freeze::EvictorPtr _evictor
;
37 IceUtil::Mutex _mutex
;
40 class DirectoryI
: virtual public PersistentDirectory
46 virtual std::string
name(const Ice::Current
&);
47 virtual void destroy(const Ice::Current
&);
49 virtual NodeDescSeq
list(const Ice::Current
&);
50 virtual NodeDesc
find(const std::string
&, const Ice::Current
&);
51 virtual DirectoryPrx
createDirectory(const std::string
&, const Ice::Current
&);
52 virtual FilePrx
createFile(const std::string
&, const Ice::Current
&);
53 virtual void removeNode(const std::string
&, const Ice::Current
&);
55 static Freeze::EvictorPtr _evictor
;
60 IceUtil::Mutex _mutex
;
63 class NodeFactory
: virtual public Ice::ObjectFactory
67 virtual Ice::ObjectPtr
create(const std::string
&);
68 virtual void destroy();