summaryrefslogtreecommitdiff
path: root/cpp/demo/Manual/evictor_filesystem/PersistentFilesystemI.cpp
diff options
context:
space:
mode:
authorMatthew Newhook <matthew@zeroc.com>2015-03-18 12:58:16 -0230
committerMatthew Newhook <matthew@zeroc.com>2015-03-18 12:58:16 -0230
commit9b7668c7c92cf9cb311fe444cdddb489cd2a219d (patch)
tree5016567c58c81f5654e9d01935e199c6bf4761d2 /cpp/demo/Manual/evictor_filesystem/PersistentFilesystemI.cpp
parentVS add-in & build updates: (diff)
downloadice-9b7668c7c92cf9cb311fe444cdddb489cd2a219d.tar.bz2
ice-9b7668c7c92cf9cb311fe444cdddb489cd2a219d.tar.xz
ice-9b7668c7c92cf9cb311fe444cdddb489cd2a219d.zip
Removed demos.
Moved demoscript to distribution.
Diffstat (limited to 'cpp/demo/Manual/evictor_filesystem/PersistentFilesystemI.cpp')
-rw-r--r--cpp/demo/Manual/evictor_filesystem/PersistentFilesystemI.cpp268
1 files changed, 0 insertions, 268 deletions
diff --git a/cpp/demo/Manual/evictor_filesystem/PersistentFilesystemI.cpp b/cpp/demo/Manual/evictor_filesystem/PersistentFilesystemI.cpp
deleted file mode 100644
index 6bdc3fc588e..00000000000
--- a/cpp/demo/Manual/evictor_filesystem/PersistentFilesystemI.cpp
+++ /dev/null
@@ -1,268 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2015 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.
-//
-// **********************************************************************
-
-#include <PersistentFilesystemI.h>
-
-using namespace std;
-
-//
-// Filesystem::FileI
-//
-
-Freeze::EvictorPtr Filesystem::FileI::_evictor;
-
-Filesystem::FileI::FileI() : _destroyed(false)
-{
-}
-
-string
-Filesystem::FileI::name(const Ice::Current& c)
-{
- IceUtil::Mutex::Lock lock(_mutex);
-
- if(_destroyed)
- {
- throw Ice::ObjectNotExistException(__FILE__, __LINE__, c.id, c.facet, c.operation);
- }
-
- return nodeName;
-}
-
-void
-Filesystem::FileI::destroy(const Ice::Current& c)
-{
- {
- IceUtil::Mutex::Lock lock(_mutex);
-
- if(_destroyed)
- {
- throw Ice::ObjectNotExistException(__FILE__, __LINE__, c.id, c.facet, c.operation);
- }
- _destroyed = true;
- }
-
- //
- // Because we use a transactional evictor, these updates are guaranteed to be atomic.
- //
- parent->removeNode(nodeName);
- _evictor->remove(c.id);
-}
-
-Filesystem::Lines
-Filesystem::FileI::read(const Ice::Current& c)
-{
- IceUtil::Mutex::Lock lock(_mutex);
-
- if(_destroyed)
- {
- throw Ice::ObjectNotExistException(__FILE__, __LINE__, c.id, c.facet, c.operation);
- }
-
- return text;
-}
-
-void
-Filesystem::FileI::write(const Filesystem::Lines& txt, const Ice::Current& c)
-{
- IceUtil::Mutex::Lock lock(_mutex);
-
- if(_destroyed)
- {
- throw Ice::ObjectNotExistException(__FILE__, __LINE__, c.id, c.facet, c.operation);
- }
-
- this->text = txt;
-}
-
-//
-// Filesystem::DirectoryI
-//
-
-Freeze::EvictorPtr Filesystem::DirectoryI::_evictor;
-
-Filesystem::DirectoryI::DirectoryI() : _destroyed(false)
-{
-}
-
-string
-Filesystem::DirectoryI::name(const Ice::Current& c)
-{
- IceUtil::Mutex::Lock lock(_mutex);
-
- if(_destroyed)
- {
- throw Ice::ObjectNotExistException(__FILE__, __LINE__, c.id, c.facet, c.operation);
- }
-
- return nodeName;
-}
-
-void
-Filesystem::DirectoryI::destroy(const Ice::Current& c)
-{
- if(!parent)
- {
- throw Filesystem::PermissionDenied("Cannot destroy root directory");
- }
-
- {
- IceUtil::Mutex::Lock lock(_mutex);
-
- if(_destroyed)
- {
- throw Ice::ObjectNotExistException(__FILE__, __LINE__, c.id, c.facet, c.operation);
- }
- if(!nodes.empty())
- {
- throw Filesystem::PermissionDenied("Cannot destroy non-empty directory");
- }
- _destroyed = true;
- }
-
- //
- // Because we use a transactional evictor, these updates are guaranteed to be atomic.
- //
- parent->removeNode(nodeName);
- _evictor->remove(c.id);
-}
-
-Filesystem::NodeDescSeq
-Filesystem::DirectoryI::list(const Ice::Current& c)
-{
- IceUtil::Mutex::Lock lock(_mutex);
-
- if(_destroyed)
- {
- throw Ice::ObjectNotExistException(__FILE__, __LINE__, c.id, c.facet, c.operation);
- }
-
- NodeDict::const_iterator p;
- NodeDescSeq result;
- for(p = nodes.begin(); p != nodes.end(); ++p)
- {
- result.push_back(p->second);
- }
- return result;
-}
-
-Filesystem::NodeDesc
-Filesystem::DirectoryI::find(const string& nm, const Ice::Current& c)
-{
- IceUtil::Mutex::Lock lock(_mutex);
-
- if(_destroyed)
- {
- throw Ice::ObjectNotExistException(__FILE__, __LINE__, c.id, c.facet, c.operation);
- }
-
- NodeDict::iterator p = nodes.find(nm);
- if(p == nodes.end())
- {
- throw NoSuchName(nm);
- }
- return p->second;
-}
-
-Filesystem::DirectoryPrx
-Filesystem::DirectoryI::createDirectory(const string& nm, const Ice::Current& c)
-{
- IceUtil::Mutex::Lock lock(_mutex);
-
- if(_destroyed)
- {
- throw Ice::ObjectNotExistException(__FILE__, __LINE__, c.id, c.facet, c.operation);
- }
-
- if(nm.empty() || nodes.find(nm) != nodes.end())
- {
- throw NameInUse(nm);
- }
-
- Ice::Identity id;
- id.name = IceUtil::generateUUID();
- PersistentDirectoryPtr dir = new DirectoryI;
- dir->nodeName = nm;
- dir->parent = PersistentDirectoryPrx::uncheckedCast(c.adapter->createProxy(c.id));
- DirectoryPrx proxy = DirectoryPrx::uncheckedCast(_evictor->add(dir, id));
-
- NodeDesc nd;
- nd.name = nm;
- nd.type = DirType;
- nd.proxy = proxy;
- nodes[nm] = nd;
-
- return proxy;
-}
-
-Filesystem::FilePrx
-Filesystem::DirectoryI::createFile(const string& nm, const Ice::Current& c)
-{
- IceUtil::Mutex::Lock lock(_mutex);
-
- if(_destroyed)
- {
- throw Ice::ObjectNotExistException(__FILE__, __LINE__, c.id, c.facet, c.operation);
- }
-
- if(nm.empty() || nodes.find(nm) != nodes.end())
- {
- throw NameInUse(nm);
- }
-
- Ice::Identity id;
- id.name = IceUtil::generateUUID();
- PersistentFilePtr file = new FileI;
- file->nodeName = nm;
- file->parent = PersistentDirectoryPrx::uncheckedCast(c.adapter->createProxy(c.id));
- FilePrx proxy = FilePrx::uncheckedCast(_evictor->add(file, id));
-
- NodeDesc nd;
- nd.name = nm;
- nd.type = FileType;
- nd.proxy = proxy;
- nodes[nm] = nd;
-
- return proxy;
-}
-
-void
-Filesystem::DirectoryI::removeNode(const string& nm, const Ice::Current&)
-{
- IceUtil::Mutex::Lock lock(_mutex);
-
- NodeDict::iterator p = nodes.find(nm);
- assert(p != nodes.end());
- nodes.erase(p);
-}
-
-//
-// Filesystem::NodeFactory
-//
-Ice::ObjectPtr
-Filesystem::NodeFactory::create(const string& type)
-{
- if(type == PersistentFile::ice_staticId())
- {
- return new FileI;
- }
- else if(type == PersistentDirectory::ice_staticId())
- {
- return new DirectoryI;
- }
- else
- {
- assert(false);
- return 0;
- }
-}
-
-void
-Filesystem::NodeFactory::destroy()
-{
-}