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
1.2.10 written by Dimitri van Heesch,
© 1997-2001