00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifdef HAVE_CONFIG_H
00018 # include <dtn-config.h>
00019 #endif
00020
00021 #include <oasys/util/StringBuffer.h>
00022 #include "EndpointIDOpt.h"
00023 #include "EndpointID.h"
00024
00025 namespace dtn {
00026
00027 EndpointIDOpt::EndpointIDOpt(const char* opt, EndpointID* valp,
00028 const char* valdesc, const char* desc, bool* setp)
00029 : Opt(0, opt, valp, setp, true, valdesc, desc)
00030 {
00031 }
00032
00033 EndpointIDOpt::EndpointIDOpt(char shortopt, const char* longopt,
00034 EndpointID* valp,
00035 const char* valdesc, const char* desc, bool* setp)
00036 : Opt(shortopt, longopt, valp, setp, true, valdesc, desc)
00037 {
00038 }
00039
00040 int
00041 EndpointIDOpt::set(const char* val, size_t len)
00042 {
00043 std::string s(val, len);
00044
00045 if (! ((EndpointID*)valp_)->assign(s)) {
00046 return -1;
00047 }
00048
00049 if (setp_)
00050 *setp_ = true;
00051
00052 return 0;
00053 }
00054
00055 void
00056 EndpointIDOpt::get(oasys::StringBuffer* buf)
00057 {
00058 buf->append(((EndpointID*)valp_)->c_str());
00059 }
00060
00061 }