Note: Goby version 1 (shown here) is now considered obsolete. Please use version 2 for new projects, and consider upgrading old projects.

Goby Underwater Autonomy Project  Series: 1.1, revision: 163, released on 2013-02-06 14:23:27 -0500
acomms/libdccl/message_var_static.h
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends