00001 // 00002 // LdmrsNtpTimeApp.hpp 00003 // 00004 00005 #ifndef LDMRSNTPTIMEAPP_HPP 00006 #define LDMRSNTPTIMEAPP_HPP 00007 00008 #include "../manager.hpp" 00009 #include "../tools/Mutex.hpp" 00010 #include "../datatypes/Scan.hpp" 00011 #include "../devices/LuxBase.hpp" 00012 00013 namespace application 00014 { 00015 00016 struct ntp_time_t 00017 { 00018 uint32_t second; // Seconds since 1.1.1900 00019 uint32_t fraction; 00020 }; 00021 00022 // 00023 // LdmrsNtpTimeApp 00024 // 00025 class LdmrsNtpTimeApp : public BasicApplication 00026 { 00027 public: 00028 LdmrsNtpTimeApp(Manager* manager); 00029 virtual ~LdmrsNtpTimeApp(); 00030 00031 protected: 00032 void setData(BasicData& data); // Receiver 00033 00034 private: 00035 ntp_time_t convertUnixTimeToNtpTime(struct timeval& unixTime); 00036 00037 // void checkResolution(Scan& scan); 00038 void changeThreadFunction(bool& endThread, UINT16& waitTimeMs); 00039 // bool changeFlexResConfiguration(const ScannerInfo::ResolutionMap& configuredRM); 00040 // bool changeAngularResolutionType(devices::AngularResolutionType type); 00041 // bool readDetailedErrorCode(UINT32* code = NULL); 00042 00043 private: 00044 bool m_beVerbose; 00045 Manager* m_manager; 00046 SickThread<LdmrsNtpTimeApp, &LdmrsNtpTimeApp::changeThreadFunction> m_changeThread; 00047 }; 00048 00049 } // namespace application 00050 00051 #endif