00001 /****************************************************************************** 00002 * This file is part of the OROCOS toolchain ROS project * 00003 * * 00004 * (C) 2010 Steven Bellens, steven.bellens@mech.kuleuven.be * 00005 * Department of Mechanical Engineering, * 00006 * Katholieke Universiteit Leuven, Belgium. * 00007 * * 00008 * You may redistribute this software and/or modify it under either the * 00009 * terms of the GNU Lesser General Public License version 2.1 (LGPLv2.1 * 00010 * <http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html>) or (at your * 00011 * discretion) of the Modified BSD License: * 00012 * Redistribution and use in source and binary forms, with or without * 00013 * modification, are permitted provided that the following conditions * 00014 * are met: * 00015 * 1. Redistributions of source code must retain the above copyright * 00016 * notice, this list of conditions and the following disclaimer. * 00017 * 2. Redistributions in binary form must reproduce the above copyright * 00018 * notice, this list of conditions and the following disclaimer in the * 00019 * documentation and/or other materials provided with the distribution. * 00020 * 3. The name of the author may not be used to endorse or promote * 00021 * products derived from this software without specific prior written * 00022 * permission. * 00023 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * 00024 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * 00025 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * 00026 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,* 00027 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * 00028 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * 00029 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * 00030 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * 00031 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING * 00032 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * 00033 * POSSIBILITY OF SUCH DAMAGE. * 00034 * * 00035 *******************************************************************************/ 00036 00037 #ifndef ROS_PRIMITIVES_TYPEKIT_PLUGIN_HPP 00038 #define ROS_PRIMITIVES_TYPEKIT_PLUGIN_HPP 00039 00040 #include <ros/time.h> 00041 #include <rtt/types/TypekitPlugin.hpp> 00042 #include <rtt/typekit/StdTypeInfo.hpp> 00043 #include <rtt/types/StructTypeInfo.hpp> 00044 #include <rtt/types/SequenceTypeInfo.hpp> 00045 #include <rtt/typekit/StdStringTypeInfo.hpp> 00046 #include <rtt/types/CArrayTypeInfo.hpp> 00047 #include <rtt/types/TemplateConstructor.hpp> 00048 00049 namespace ros_integration { 00050 using namespace RTT; 00051 using namespace RTT::types; 00052 00056 class ROSPrimitivesTypekitPlugin 00057 : public types::TypekitPlugin 00058 { 00059 public: 00060 virtual std::string getName(); 00061 virtual bool loadTypes(); 00062 virtual bool loadConstructors(); 00063 virtual bool loadOperators(); 00064 }; 00065 } 00066 #endif