Main Page   Class Hierarchy   Compound List   File List   Compound Members   Related Pages  

RemoteMapClient.h

00001 /*****************************************************************************
00002  * Author:   Valient Gough <vgough@pobox.com>
00003  *
00004  *****************************************************************************
00005  * Copyright (c) 2001, Valient Gough
00006  *
00007  * This library is free software; you can distribute it and/or modify it under
00008  * the terms of the GNU Lesser General Public License (LGPL), as published by
00009  * the Free Software Foundation; either version 2.1 of the License, or (at your
00010  * option) any later version.
00011  *
00012  * This library is distributed in the hope that it will be useful, but WITHOUT
00013  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00014  * FITNESS FOR A PARTICULAR PURPOSE.  See the LGPL in the file COPYING for more
00015  * details.
00016  *
00017  */
00018 
00019 #ifndef _RemoteMapClient_incl
00020 #define _RemoteMapClient_incl
00021 
00022 
00023 #include <rel/VMap.h>
00024 
00025 namespace rel
00026 {
00027 
00028 
00029     class RemoteMapClient : public VMap
00030     {
00031     public:
00032         // Act as client for remote map.  The path given is the base path on the
00033         // remote end.
00034         RemoteMapClient(const SmartPtr<TypeStream> &transport);
00035         ~RemoteMapClient();
00036 
00037         // could override in order to improve efficiency..
00038         //VMapPtr findDirectory(const string &name, int flags = VMap::NoFlags);
00039         //VMapPtr findDirectory(const TypeStream &path,int flags=VMap::NoFlags);
00040 
00041         //VMapPtr createDirectory(const string &name);
00042         //ODSMapPtr createDirectory(const TypeStream &path);
00043 
00044         OpaqueValue find(const string &name);
00045         OpaqueValue find(const TypeStream &path);
00046         //OpaqueValue find_search_TopDown(const TypeStream &path, 
00047         //                                const string &name);
00048 
00049         //ErrorCode insert(const string &name, const OpaqueValue &value);
00050         //ErrorCode insert(const TypeStream &path, const OpaqueValue &value);
00051 
00052         //ErrorCode assign(const string &name, const OpaqueValue &value);
00053         //ErrorCode assign(const TypeStream &path, const OpaqueValue &value);
00054         //ErrorCode assign(const string &name, const OpaqueValue &value);
00055 
00056         //ErrorCode erase(const string &name);
00057         //ErrorCode erase(const TypeStream &path);
00058 
00059         //virtual ErrorCode clear();
00060 
00061 
00062         enum CommandPrefixes
00063         {
00064             Command_Find_String = 'f',
00065             Command_Find_Path   = 'F'
00066         };
00067 
00068     private:
00069 
00070         SmartPtr<TypeStream> fTransport;
00071     };
00072 
00073 } // namespace rel
00074 
00075 #endif
00076 

Generated at Sat Sep 22 02:20:00 2001 for librel by doxygen1.2.10 written by Dimitri van Heesch, © 1997-2001