INTRODUCTION
Overview
Download and Install
Documentation
Publications

REPOSITORY
Libraries

DEVELOPER
Dev Guide
Dashboard

PEOPLE
Contributors
Users

SourceForge.net Logo
Project
Download
Mailing lists

 

         

flexiport.h

00001 /*
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
 

Generated for GearBox by  doxygen 1.4.5