RTCHokuyoAist 3.0.0
|
00001 /* RTC:HokuyoAIST 00002 * 00003 * Header file for the Ranger interface implementation. 00004 * 00005 * Copyright 2010-2011 Geoffrey Biggs geoffrey.biggs@aist.go.jp 00006 * RT-Synthesis Research Group 00007 * Intelligent Systems Research Institute, 00008 * National Institute of Advanced Industrial Science and Technology (AIST), 00009 * Japan 00010 * All rights reserved. 00011 * 00012 * This file is part of HokuyoAIST. 00013 * 00014 * HokuyoAIST is free software; you can redistribute it and/or modify it 00015 * under the terms of the GNU Lesser General Public License as published 00016 * by the Free Software Foundation; either version 2.1 of the License, 00017 * or (at your option) any later version. 00018 * 00019 * HokuyoAIST is distributed in the hope that it will be useful, but 00020 * WITHOUT ANY WARRANTY; without even the implied warranty of 00021 * 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 00025 * License along with HokuyoAIST. If not, see 00026 * <http://www.gnu.org/licenses/>. 00027 */ 00028 00029 #if !defined(RANGER_IMPL__) 00030 #define RANGER_IMPL__ 00031 00032 #include "idl/ranger.hh" 00033 00034 class RTCHokuyoAIST; 00035 00036 namespace RTCHokuyoAist 00037 { 00038 00039 class RangerProvider 00040 : public virtual POA_RTC::Ranger, 00041 public virtual PortableServer::RefCountServantBase 00042 { 00043 public: 00044 RangerProvider(); 00045 virtual ~RangerProvider(); 00046 00047 void setup(RTCHokuyoAIST* owner) { owner_ = owner; } 00048 00049 RTC::RangerGeometry* GetGeometry() throw (CORBA::SystemException); 00050 void Power(bool enable) throw (CORBA::SystemException); 00051 void EnableIntensities(bool enable) throw (CORBA::SystemException); 00052 RTC::RangerConfig GetConfig() throw (CORBA::SystemException); 00053 void SetConfig(RTC::RangerConfig const& new_config) 00054 throw (CORBA::SystemException); 00055 00056 private: 00057 RTCHokuyoAIST* owner_; 00058 }; // class RangerProvider 00059 00060 }; // namespace RTCHokuyoAist 00061 00062 #endif // RANGER_IMPL__ 00063