1
// **********************************************************************
3
// Copyright (c) 2003-2010 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();