INTRODUCTION
Overview
Download and Install
Quick Start
Documentation
Publications

NONFRAMEWORK CODE
Driver Interfaces
Drivers
Libraries
Utilities

FRAMEWORK CODE
Interfaces
Components
Libraries
Utilities

Full Software Listings

DEVELOPER
Tutorials
Examples
Dev Guide
Dashboard

PEOPLE
Contributors
Users

SourceForge.net Logo
Project
Download
Mailing lists

 

         

orcaifaceimpl/pathfollower2d.h

00001 /*
00002  * Orca-Robotics Project: Components for robotics 
00003  *               http://orca-robotics.sf.net/
00004  * Copyright (c) 2004-2009 Alex Brooks, Alexei Makarenko, Tobias Kaupp
00005  *
00006  * This copy of Orca is licensed to you under the terms described in
00007  * the LICENSE file included in this distribution.
00008  *
00009  */
00010 
00011 #ifndef ORCAIFACEIMPL_PATHFOLLOWER2D_H
00012 #define ORCAIFACEIMPL_PATHFOLLOWER2D_H
00013 
00014 #include <orca/pathfollower2d.h>
00015 #include <orcaifaceutil/pathfollower2d.h>
00016 
00017 #include <orcaifaceimpl/pathfollower2dImpl.h>
00018 #include <orcaifaceimpl/storingconsumerImpl.h>
00019 #include <orcaifaceimpl/bufferedconsumerImpl.h>
00020 #include <orcaifaceimpl/notifyingconsumerImpl.h>
00021 #include <orcaifaceimpl/printingconsumerImpl.h>
00022 
00023 namespace orcaifaceimpl {
00024 
00025 //
00026 // We need a special class here because we have the additional 'setState' function.
00027 //
00028 class PathFollower2dConsumerTypeI : public orca::PathFollower2dConsumer {
00029 public:
00030     PathFollower2dConsumerTypeI( orcaifaceimpl::AbstractConsumer<orca::PathFollower2dData> &impl ) :
00031         impl_(impl)
00032         {}
00033 
00034     void setData( const orca::PathFollower2dData &data, const Ice::Current& )
00035         {
00036             impl_.dataEvent( data );
00037         }
00038     void setState( const orca::PathFollower2dState &state, const Ice::Current& )
00039         {
00040             // ignore this.
00041         }
00042 private:
00043     orcaifaceimpl::AbstractConsumer<orca::PathFollower2dData> &impl_;
00044 };
00045 
00046 typedef StoringConsumerImpl<orca::PathFollower2d, orca::PathFollower2dConsumer, 
00047                             orca::PathFollower2dData, PathFollower2dConsumerTypeI> StoringPathFollower2dConsumerImpl;
00048 typedef IceUtil::Handle<StoringPathFollower2dConsumerImpl> StoringPathFollower2dConsumerImplPtr;
00049 
00050 typedef BufferedConsumerImpl<orca::PathFollower2d, orca::PathFollower2dConsumer,
00051                              orca::PathFollower2dData, PathFollower2dConsumerTypeI> BufferedPathFollower2dConsumerImpl;
00052 typedef IceUtil::Handle<BufferedPathFollower2dConsumerImpl> BufferedPathFollower2dConsumerImplPtr;
00053 
00054 typedef NotifyingConsumerImpl<orca::PathFollower2d, orca::PathFollower2dConsumer,
00055                               orca::PathFollower2dData, PathFollower2dConsumerTypeI> NotifyingPathFollower2dConsumerImpl;
00056 typedef IceUtil::Handle<NotifyingPathFollower2dConsumerImpl> NotifyingPathFollower2dConsumerImplPtr;
00057 
00058 typedef PrintingConsumerImpl<orca::PathFollower2d, orca::PathFollower2dConsumer,
00059                               orca::PathFollower2dData, PathFollower2dConsumerTypeI> PrintingPathFollower2dConsumerImpl;
00060 typedef IceUtil::Handle<PrintingPathFollower2dConsumerImpl> PrintingPathFollower2dConsumerImplPtr;
00061 
00062 }
00063 
00064 #endif
 

Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)


Generated for Orca Robotics by  doxygen 1.4.5