00001 #if defined(__WAVE__) && defined(SAGA_CREATE_PREPROCESSED_FILES)
00002 #pragma wave option(preserve: 2, line: 1, output: "preprocessed/namespace_dir.cpp")
00003 #endif
00004
00005
00006
00007
00008
00009
00010 #if defined(__WAVE__) && defined(SAGA_CREATE_PREPROCESSED_FILES)
00011 #pragma wave option(preserve: 0, output: null)
00012 #endif
00013
00014
00015 #include <saga/saga/util.hpp>
00016 #include <saga/saga/namespace.hpp>
00017 #include <saga/impl/namespace.hpp>
00018 #include <saga/saga/detail/call.hpp>
00019
00020 #include <string>
00021 #include <vector>
00022
00023 #ifdef SAGA_DEBUG
00024 #include <saga/saga/packages/namespace/preprocessed/namespace_dir.cpp>
00025 #else
00026
00027 #if defined(__WAVE__) && defined(SAGA_CREATE_PREPROCESSED_FILES)
00028 #pragma wave option(preserve: 2, line: 1, output: "preprocessed/namespace_dir.cpp")
00029 #endif
00030
00031 namespace saga { namespace name_space
00032 {
00033 directory::directory (saga::impl::namespace_dir *init)
00034 : entry (init)
00035 {
00036 }
00037
00038 directory::directory (session const& s, saga::url url, int mode,
00039 saga::object::type t)
00040 : entry (new saga::impl::namespace_dir (s, url, mode, t))
00041 {
00042 saga::impl::object* obj (this->saga::object::get_impl());
00043 obj->init();
00044 if (t == saga::object::NSDirectory)
00045 obj->set_type((saga::object::type)obj->get_cpitype());
00046 }
00047
00048 directory::directory (saga::url url, int mode,
00049 saga::object::type t)
00050 : entry (new saga::impl::namespace_dir (
00051 detail::get_the_session(), url, mode, t))
00052 {
00053 saga::impl::object* obj (this->saga::object::get_impl());
00054 obj->init();
00055 if (t == saga::object::NSDirectory)
00056 obj->set_type((saga::object::type)obj->get_cpitype());
00057 }
00058
00059 directory::directory (saga::object const& o)
00060 : saga::name_space::entry(o)
00061 {
00062 }
00063
00064 directory::directory (void)
00065 {
00066 }
00067
00068 directory::~directory (void)
00069 {
00070 }
00071
00072 directory &directory::operator= (saga::object const& o)
00073 {
00074 return this->saga::name_space::entry::operator=(o), *this;
00075 }
00076
00077 saga::impl::namespace_dir* directory::get_impl() const
00078 {
00079 typedef saga::object base_type;
00080 return static_cast<saga::impl::namespace_dir*>(this->base_type::get_impl());
00081 }
00082
00083 TR1::shared_ptr <saga::impl::namespace_dir> directory::get_impl_sp() const
00084 {
00085 typedef saga::object base_type;
00086 return TR1::static_pointer_cast<saga::impl::namespace_dir>(
00087 this->base_type::get_impl_sp());
00088 }
00089
00090
00091 SAGA_CALL_CREATE_IMP_3(directory, impl::namespace_dir, session const&, saga::url, int)
00092
00093
00094 SAGA_CALL_IMP_1(directory, change_dir, saga::url)
00095 SAGA_CALL_CONST_IMP_2(directory, list, std::string, int)
00096 SAGA_CALL_CONST_IMP_2(directory, find, std::string, int)
00097
00098 SAGA_CALL_CONST_IMP_1(directory, read_link, saga::url)
00099 SAGA_CALL_CONST_IMP_1(directory, exists, saga::url)
00100 SAGA_CALL_CONST_IMP_1(directory, is_dir, saga::url)
00101 SAGA_CALL_CONST_IMP_1(directory, is_entry, saga::url)
00102 SAGA_CALL_CONST_IMP_1(directory, is_link, saga::url)
00103
00104
00105 SAGA_CALL_CONST_IMP_0(directory, get_num_entries)
00106 SAGA_CALL_CONST_IMP_1(directory, get_entry, std::size_t)
00107
00108
00109 SAGA_CALL_IMP_3(directory, copy, saga::url, saga::url, int)
00110 SAGA_CALL_IMP_3(directory, link, saga::url, saga::url, int)
00111 SAGA_CALL_IMP_3(directory, move, saga::url, saga::url, int)
00112 SAGA_CALL_IMP_2(directory, remove, saga::url, int)
00113 SAGA_CALL_IMP_2(directory, make_dir, saga::url, int)
00114
00115
00116 SAGA_CALL_IMP_2(directory, open, saga::url, int)
00117 SAGA_CALL_IMP_2(directory, open_dir, saga::url, int)
00118
00119
00120 SAGA_CALL_IMP_3_EX(directory, copy, copy_wildcard, std::string, saga::url, int)
00121 SAGA_CALL_IMP_3_EX(directory, link, link_wildcard, std::string, saga::url, int)
00122 SAGA_CALL_IMP_3_EX(directory, move, move_wildcard, std::string, saga::url, int)
00123 SAGA_CALL_IMP_2_EX(directory, remove, remove_wildcard, std::string, int)
00124
00125
00126 SAGA_CALL_IMP_4(directory, permissions_allow, saga::url, std::string, int, int)
00127 SAGA_CALL_IMP_4(directory, permissions_deny, saga::url, std::string, int, int)
00128 SAGA_CALL_IMP_4_EX(directory, permissions_allow, permissions_allow_wildcard, std::string, std::string, int, int)
00129 SAGA_CALL_IMP_4_EX(directory, permissions_deny, permissions_deny_wildcard, std::string, std::string, int, int)
00130
00132 }}
00133
00134 #endif