00001 /*************************************************************************** 00002 * Copyright (C) 2001 by Rick L. Vinyard, Jr. * 00003 * rvinyard@cs.nmsu.edu * 00004 * * 00005 * This file is part of the conexus library. * 00006 * * 00007 * The conexus library is free software; you can redistribute it and/or * 00008 * modify it under the terms of the GNU General Public License * 00009 * version 3 as published by the Free Software Foundation. * 00010 * * 00011 * The conexus library is distributed in the hope that it will be * 00012 * useful, but WITHOUT ANY WARRANTY; without even the implied warranty * 00013 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 00014 * General Public License for more details. * 00015 * * 00016 * You should have received a copy of the GNU General Public License * 00017 * along with this software. If not see <http://www.gnu.org/licenses/>. * 00018 ***************************************************************************/ 00019 #ifndef CONEXUSSERIAL_INTERFACE_H 00020 #define CONEXUSSERIAL_INTERFACE_H 00021 00022 #include <conexus/pointer.h> 00023 00024 namespace Conexus 00025 { 00026 00030 class SerialInterface 00031 { 00032 public: 00033 00034 typedef ConexusPointer<SerialInterface> pointer; 00035 00036 SerialInterface() { } 00037 00038 virtual ~SerialInterface() { } 00039 00041 virtual void open( const std::string& device, ReadWrite rwmode = READ_WRITE_UNCHANGED ) = 0; 00042 00047 virtual void open() = 0; 00048 00049 virtual uint32_t rw_mode() = 0; 00050 00054 virtual std::string device() = 0; 00055 00068 virtual void set_device( const std::string& device, ReadWrite rwmode = READ_WRITE_UNCHANGED ) = 0; 00069 00070 virtual sigc::signal<void>& signal_device_changed() = 0; 00071 00072 }; 00073 00074 } 00075 00076 #endif