⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 client.cpp

📁 ICE-3.2 一个开源的中间件
💻 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 + -