00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _CJNP_REMLINK_H_
00021 #define _CJNP_REMLINK_H_ 1
00022
00023 #include <string>
00024 #include "CjNetworkProcess.hh"
00025 #include "CjLinkSelector.hh"
00026
00027 namespace jmitie {
00028 namespace corelib {
00029 class CjNP_remLink : public CjNetworkProcess {
00030
00031 private:
00032 ctor_va_t::CjLinkSelectorFactory_t::Visitor_shared_ptr m_link_selector;
00033
00034 public:
00035 std::string getName() const { return getName_static(); }
00036 static std::string getName_static() { return "remLink"; }
00037 std::string getProperty(const std::string & prop) const { return getProperty_static(prop); }
00038 static std::string getProperty_static(const std::string & opt) {
00039 if(opt=="desc") return "Remove a link from the network, selecting it with a link selector.";
00040 if(opt=="usage") return getProperty_static("desc") + "\n" \
00041 "link_selector_name\tThe name of the link selector to use to select the link to remove.\n";
00042 throw std::invalid_argument("CjNP_remLink::getProperty_static(" + opt + "): Unknown property requested.");
00043 }
00044
00045 CjNP_remLink(const std::string & args, const ctor_va_t & var_arg );
00046 virtual void performAction( const action_va_t & opts );
00047
00048 ~CjNP_remLink() { }
00049
00050 protected:
00051
00052 };
00053 }
00054 }
00055
00056 #endif // _CJNP_REMLINK_H_