Goby Underwater Autonomy Project
Series: 1.1, revision: 163, released on 2013-02-06 14:23:27 -0500
|
00001 // copyright 2008, 2009 t. schneider tes@mit.edu 00002 // 00003 // this file is part of the Dynamic Compact Control Language (DCCL), 00004 // the goby-acomms codec. goby-acomms is a collection of libraries 00005 // for acoustic underwater networking 00006 // 00007 // This program is free software: you can redistribute it and/or modify 00008 // it under the terms of the GNU General Public License as published by 00009 // the Free Software Foundation, either version 3 of the License, or 00010 // (at your option) any later version. 00011 // 00012 // This software is distributed in the hope that it will be useful, 00013 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 // GNU General Public License for more details. 00016 // 00017 // You should have received a copy of the GNU General Public License 00018 // along with this software. If not, see <http://www.gnu.org/licenses/>. 00019 00020 #ifndef MESSAGE_VAR_STATIC20100317H 00021 #define MESSAGE_VAR_STATIC20100317H 00022 00023 #include "message_var.h" 00024 namespace goby 00025 { 00026 namespace acomms 00027 { 00028 class DCCLMessageVarStatic : public DCCLMessageVar 00029 { 00030 public: 00031 int calc_size() const 00032 { return 0; } 00033 00034 void set_static_val(const std::string& static_val) 00035 { static_val_ = static_val; } 00036 00037 std::string static_val() const {return static_val_;} 00038 00039 DCCLType type() const { return dccl_static; } 00040 00041 private: 00042 void initialize_specific() 00043 { } 00044 00045 boost::dynamic_bitset<unsigned char> encode_specific(const DCCLMessageVal& v) 00046 { 00047 return boost::dynamic_bitset<unsigned char>(); 00048 } 00049 00050 DCCLMessageVal decode_specific(boost::dynamic_bitset<unsigned char>& b) 00051 { 00052 return DCCLMessageVal(static_val_); 00053 } 00054 00055 void get_display_specific(std::stringstream& ss) const 00056 { 00057 ss << "\t\t" << "value: \"" << static_val_ << "\"" << std::endl; 00058 } 00059 00060 private: 00061 std::string static_val_; 00062 }; 00063 } 00064 } 00065 #endif