summaryrefslogtreecommitdiff
path: root/cpp/demo/book/freeze_filesystem/Client.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/demo/book/freeze_filesystem/Client.cpp')
-rw-r--r--cpp/demo/book/freeze_filesystem/Client.cpp30
1 files changed, 16 insertions, 14 deletions
diff --git a/cpp/demo/book/freeze_filesystem/Client.cpp b/cpp/demo/book/freeze_filesystem/Client.cpp
index 9fa07c9898e..f13969563ce 100644
--- a/cpp/demo/book/freeze_filesystem/Client.cpp
+++ b/cpp/demo/book/freeze_filesystem/Client.cpp
@@ -78,9 +78,10 @@ FilesystemClient::run(int argc, char* argv[])
//
// Create a file called "README" in the root directory.
//
+ FilePrx readme;
try
{
- FilePrx readme = rootDir->createFile("README");
+ readme = rootDir->createFile("README");
Lines text;
text.push_back("This file system contains a collection of poetry.");
readme->write(text);
@@ -88,9 +89,9 @@ FilesystemClient::run(int argc, char* argv[])
}
catch(const NameInUse&)
{
- //
- // Ignore - file already exists.
- //
+ NodeDesc desc = rootDir->find("README");
+ readme = FilePrx::checkedCast(desc.proxy);
+ assert(readme);
}
//
@@ -112,9 +113,10 @@ FilesystemClient::run(int argc, char* argv[])
//
// Create a file called "Kubla_Khan" in the Coleridge directory.
//
+ FilePrx file;
try
{
- FilePrx file = coleridge->createFile("Kubla_Khan");
+ file = coleridge->createFile("Kubla_Khan");
Lines text;
text.push_back("In Xanadu did Kubla Khan");
text.push_back("A stately pleasure-dome decree:");
@@ -126,9 +128,9 @@ FilesystemClient::run(int argc, char* argv[])
}
catch(const NameInUse&)
{
- //
- // Ignore - file already exists.
- //
+ NodeDesc desc = coleridge->find("Kubla_Khan");
+ file = FilePrx::checkedCast(desc.proxy);
+ assert(file);
}
cout << "Contents of filesystem:" << endl;
@@ -137,12 +139,12 @@ FilesystemClient::run(int argc, char* argv[])
//
// Destroy the filesystem.
//
- NodeDescSeq contents = rootDir->list();
- for(NodeDescSeq::iterator i = contents.begin(); i != contents.end(); ++i)
- {
- cout << "Destroying " << i->name << endl;
- i->proxy->destroy();
- }
+ cout << "Destroying " << file->name() << endl;
+ file->destroy();
+ cout << "Destroying " << readme->name() << endl;
+ readme->destroy();
+ cout << "Destroying " << coleridge->name() << endl;
+ coleridge->destroy();
return EXIT_SUCCESS;
}