INTRODUCTION Overview Download and Install Documentation Publications REPOSITORY Libraries DEVELOPER Dev Guide Dashboard PEOPLE Contributors Users Project Download Mailing lists
|
flexiport.h00001 /* 00002 * GearBox Project: Peer-Reviewed Open-Source Libraries for Robotics 00003 * http://gearbox.sf.net/ 00004 * Copyright (c) 2008 Geoffrey Biggs 00005 * 00006 * flexiport flexible hardware data communications library. 00007 * 00008 * This distribution is licensed to you under the terms described in the LICENSE file included in 00009 * this distribution. 00010 * 00011 * This work is a product of the National Institute of Advanced Industrial Science and Technology, 00012 * Japan. Registration number: H20PRO-881 00013 * 00014 * This file is part of flexiport. 00015 * 00016 * flexiport is free software: you can redistribute it and/or modify it under the terms of the GNU 00017 * Lesser General Public License as published by the Free Software Foundation, either version 3 of 00018 * the License, or (at your option) any later version. 00019 * 00020 * flexiport is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without 00021 * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00022 * Lesser General Public License for more details. 00023 * 00024 * You should have received a copy of the GNU Lesser General Public License along with flexiport. 00025 * If not, see <http://www.gnu.org/licenses/>. 00026 */ 00027 00028 #ifndef __FLEXIPORT_H 00029 #define __FLEXIPORT_H 00030 00031 #include <map> 00032 #include <string> 00033 00034 #if defined (WIN32) 00035 #if defined (FLEXIPORT_EXPORTS) 00036 #define FLEXIPORT_EXPORT __declspec (dllexport) 00037 #else 00038 #define FLEXIPORT_EXPORT __declspec (dllimport) 00039 #endif 00040 #else 00041 #define FLEXIPORT_EXPORT 00042 #endif 00043 00048 namespace flexiport 00049 { 00050 00052 class FLEXIPORT_EXPORT PortException : public std::exception 00053 { 00054 public: 00055 PortException (const char *errorStr) 00056 : _errorStr (errorStr) {}; 00057 PortException (const std::string &errorStr) 00058 : _errorStr (errorStr) {}; 00059 ~PortException (void) throw () {}; 00060 00061 virtual const char* what (void) const throw () 00062 { 00063 return _errorStr.c_str (); 00064 } 00065 00066 private: 00067 std::string _errorStr; 00068 }; 00069 00070 // Forward declaration of the Port class 00071 class Port; 00072 00086 FLEXIPORT_EXPORT Port* CreatePort (std::map<std::string, std::string> options); 00087 00096 FLEXIPORT_EXPORT Port* CreatePort (std::string options); 00097 00098 } // namespace flexiport 00099 00102 #endif // __FLEXIPORT_H |