diff options
author | Jose <jose@zeroc.com> | 2014-11-11 22:33:50 +0100 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2014-11-11 22:33:50 +0100 |
commit | fefe5c503a8bec0882443e994db64f916f806b5e (patch) | |
tree | f1881528106f75b50ab0f72ea6b5da6f90dc5b2e /rb/demo/Manual/simple_filesystem/Client.rb | |
parent | ICE-5863 - merge Java RPMs (diff) | |
download | ice-fefe5c503a8bec0882443e994db64f916f806b5e.tar.bz2 ice-fefe5c503a8bec0882443e994db64f916f806b5e.tar.xz ice-fefe5c503a8bec0882443e994db64f916f806b5e.zip |
Fixed (ICE-5857) rename manual -> Manual
Diffstat (limited to 'rb/demo/Manual/simple_filesystem/Client.rb')
-rwxr-xr-x | rb/demo/Manual/simple_filesystem/Client.rb | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/rb/demo/Manual/simple_filesystem/Client.rb b/rb/demo/Manual/simple_filesystem/Client.rb new file mode 100755 index 00000000000..333406fcd09 --- /dev/null +++ b/rb/demo/Manual/simple_filesystem/Client.rb @@ -0,0 +1,82 @@ +#!/usr/bin/env ruby +# ********************************************************************** +# +# Copyright (c) 2003-2014 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. +# +# ********************************************************************** + +require 'Ice' +Ice::loadSlice('Filesystem.ice') + +# 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). + +def listRecursive(dir, depth) + indent = '' + depth = depth + 1 + for i in (0...depth) + indent += "\t" + end + + contents = dir.list() + + for node in contents + subdir = Filesystem::DirectoryPrx::checkedCast(node) + file = Filesystem::FilePrx::uncheckedCast(node) + print indent + node.name() + if subdir + puts "(directory):" + listRecursive(subdir, depth) + else + puts "(file):" + text = file.read() + for line in text + puts indent + "\t" + line + end + end + end +end + +status = 0 +ic = nil +begin + # Create a communicator + # + ic = Ice::initialize(ARGV) + + # Create a proxy for the root directory + # + obj = ic.stringToProxy("RootDir:default -h localhost -p 10000") + + # Down-cast the proxy to a Directory proxy + # + rootDir = Filesystem::DirectoryPrx::checkedCast(obj) + + # Recursively list the contents of the root directory + # + puts "Contents of root directory:" + listRecursive(rootDir, 0) +rescue => ex + puts ex + print ex.backtrace.join("\n") + status = 1 +end + +if ic + # Clean up + # + begin + ic.destroy() + rescue => ex + puts ex + print ex.backtrace.join("\n") + status = 1 + end +end + +exit(status) |