📄 client.cpp
字号:
// **********************************************************************//// Copyright (c) 2003-2007 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 <Ice/Ice.h>#include <Filesystem.h>#include <iostream>#include <iterator>using namespace std;using namespace Filesystem;// Recursively print the contents of directory "dir" in tree fashion. // For files, show the contents of each file. The "depth"// parameter is the current nesting level (for indentation).static voidlistRecursive(const DirectoryPrx & dir, int depth = 0){ string indent(++depth, '\t'); NodeSeq contents = dir->list(); for (NodeSeq::const_iterator i = contents.begin(); i != contents.end(); ++i) { DirectoryPrx dir = DirectoryPrx::checkedCast(*i); FilePrx file = FilePrx::uncheckedCast(*i); cout << indent << (*i)->name() << (dir ? " (directory):" : " (file):") << endl; if (dir) { listRecursive(dir, depth); } else { Lines text = file->read(); for (Lines::const_iterator j = text.begin(); j != text.end(); ++j) cout << indent << "\t" << *j << endl; } }}intmain(int argc, char * argv[]){ int status = 0; Ice::CommunicatorPtr ic; try { // Create a communicator // ic = Ice::initialize(argc, argv); // Create a proxy for the root directory // Ice::ObjectPrx base = ic->stringToProxy("RootDir:default -p 10000"); if (!base) throw "Could not create proxy"; // Down-cast the proxy to a Directory proxy // DirectoryPrx rootDir = DirectoryPrx::checkedCast(base); if (!rootDir) throw "Invalid proxy"; // Recursively list the contents of the root directory // cout << "Contents of root directory:" << endl; listRecursive(rootDir); } catch (const Ice::Exception & ex) { cerr << ex << endl; status = 1; } catch (const char * msg) { cerr << msg << endl; status = 1; } // Clean up // if (ic) ic->destroy(); return status;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -