00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "fileserver.h"
00023
00024 using namespace boost;
00025 using namespace zeitgeist;
00026 using namespace std;
00027
00028 FUNCTION(FileServer,exist)
00029 {
00030 string inName;
00031
00032 return
00033 (
00034 (in.GetSize() == 1) &&
00035 (in.GetValue(in.begin(),inName)) &&
00036 (obj->Exist(inName.c_str()))
00037 );
00038 }
00039
00040 FUNCTION(FileServer,mount)
00041 {
00042 string inFsName;
00043 string inPath;
00044
00045 return
00046 (
00047 (in.GetSize() == 2) &&
00048 (in.GetValue(in[0],inFsName)) &&
00049 (in.GetValue(in[1],inPath)) &&
00050 (obj->Mount(inFsName.c_str(),inPath.c_str()))
00051 );
00052 }
00053
00054 FUNCTION(FileServer,unmount)
00055 {
00056 bool ret = false;
00057
00058 switch (in.GetSize())
00059 {
00060 default:
00061 break;
00062
00063 case 1:
00064 {
00065 string inPath;
00066 if (in.GetValue(in.begin(),inPath))
00067 {
00068 ret = obj->Unmount(inPath.c_str());
00069 }
00070
00071 break;
00072 }
00073
00074 case 2:
00075 {
00076 string inClass;
00077 string inPath;
00078
00079 if (
00080 (in.GetValue(in[0],inClass)) &&
00081 (in.GetValue(in[1],inPath))
00082 )
00083 {
00084 ret = obj->Unmount(inClass.c_str(),inPath.c_str());
00085 }
00086
00087 break;
00088 }
00089 }
00090
00091 return ret;
00092 }
00093
00094 void CLASS(FileServer)::DefineClass()
00095 {
00096 DEFINE_BASECLASS(zeitgeist/Node);
00097 DEFINE_FUNCTION(exist);
00098 DEFINE_FUNCTION(mount);
00099 DEFINE_FUNCTION(unmount);
00100 }