-rw-r--r-- | example/netsystemtime.pro | 10 | ||||
-rw-r--r-- | example/ntp.cpp | 130 | ||||
-rw-r--r-- | example/ntp.h | 35 | ||||
-rw-r--r-- | example/ntpbase.ui | 322 | ||||
-rw-r--r-- | example/opie-netsystemtime.control | 8 |
5 files changed, 0 insertions, 505 deletions
diff --git a/example/netsystemtime.pro b/example/netsystemtime.pro deleted file mode 100644 index b98e45d..0000000 --- a/example/netsystemtime.pro +++ b/dev/null @@ -1,10 +0,0 @@ -TEMPLATE = app -CONFIG = qt warn_on debug -#CONFIG = qt warn_on release -HEADERS = ntp.h -SOURCES = main.cpp ntp.cpp -INCLUDEPATH += $(OPIEDIR)/include -DEPENDPATH += $(OPIEDIR)/include -LIBS += -lqpe -lopie -INTERFACES = ntpbase.ui -TARGET = ../../bin/netsystemtime diff --git a/example/ntp.cpp b/example/ntp.cpp deleted file mode 100644 index 5357cae..0000000 --- a/example/ntp.cpp +++ b/dev/null @@ -1,130 +0,0 @@ -#include "ntp.h" -#include <qpushbutton.h> -#include <qregexp.h> -#include <qlabel.h> -#include <qlineedit.h> -#include <qmultilineedit.h> -#include <opie/oprocess.h> -#include <qpe/config.h> -#include <qpe/global.h> -#include <qpe/timeconversion.h> -#include <qpe/tzselect.h> -#include <qpe/timestring.h> -#include <qpe/qpedialog.h> -#include <sys/time.h> -#include <time.h> -#include <stdlib.h> - - -Ntp::Ntp( QWidget* parent, const char* name, WFlags fl ) - : NtpBase( parent, name, fl ) -{ - Config cfg("ntp",Config::User); - cfg.setGroup("settings"); - _maxOffset = cfg.readNumEntry("maxOffset",5); - _minLookupDiff = cfg.readNumEntry("minLookupDiff",10); - LineEditNtpServer->setText( cfg.readEntry("ntpServer") ); - ntpProcess = new OProcess( ); - connect ( ntpProcess, SIGNAL(receivedStdout(OProcess*,char*,int)), - this, SLOT(getNtpOutput(OProcess*,char*,int))); - connect ( ntpProcess, SIGNAL(processExited(OProcess*)), - this, SLOT(ntpFinished(OProcess*))); - connect(runNtp, SIGNAL(clicked()), this, SLOT(slotRunNtp())); - _nextCorrection = new QTimer( this ); - connect( _nextCorrection, SIGNAL(timeout()), SLOT(correctClock()) ); - slotRunNtp(); -} - -Ntp::~Ntp() -{ - Config cfg("ntp",Config::User); - cfg.setGroup("settings"); - cfg.writeEntry("ntpServer", LineEditNtpServer->text()); -} - - -void Ntp::slotRunNtp() -{ - TextLabelStartTime->setText(QDateTime::currentDateTime().toString()); - ntpProcess->clearArguments(); - *ntpProcess << "ntpdate" << LineEditNtpServer->text(); - bool ret = ntpProcess->start(OProcess::NotifyOnExit,OProcess::AllOutput); - if ( !ret ) { - qDebug("Error while executing ntp"); - outPut->append("\nError while executing\n\n"); - } -} - -void Ntp::getNtpOutput(OProcess *proc, char *buffer, int buflen) -{ - QString lineStr, lineStrOld; - lineStr = buffer; - lineStr=lineStr.left(buflen); - if (lineStr!=lineStrOld) - { - outPut->append(lineStr); - _ntpOutput += lineStr; - } - lineStrOld = lineStr; -} - -void Ntp::ntpFinished(OProcess*) -{ - Config cfg("ntp",Config::User); - cfg.setGroup("lookups"); - int lastLookup = cfg.readNumEntry("time",0); - int lookupCount = cfg.readNumEntry("count",-1); - int time = TimeConversion::toUTC( QDateTime::currentDateTime() ); - cfg.writeEntry("time", time); - - float timeShift = getTimeShift(); - int secsSinceLast = time - lastLookup; - TextLabelNewTime->setText(QDateTime::currentDateTime().toString()); - if ( lastLookup > 0 && secsSinceLast > 60*_minLookupDiff) - { - lookupCount++; - cfg.writeEntry("count",lookupCount); - cfg.setGroup("lookup_"+QString::number(lookupCount)); - _shiftPerSec = timeShift / secsSinceLast; - float nextCorr = _maxOffset / _shiftPerSec; - qDebug("secs since last lookup %i", secsSinceLast);qDebug("timeshift since last lookup %f", timeShift);qDebug("timeshift since per sec %f", _shiftPerSec);qDebug("in %f secs the time will be shifted by %i", nextCorr,_maxOffset); - cfg.writeEntry("secsSinceLast",secsSinceLast); - cfg.writeEntry("timeShift",QString::number(timeShift)); - } -} - -void Ntp::correctClock() -{ - qDebug("current time: %s",QDateTime::currentDateTime().toString().latin1()); - Config cfg("ntp",Config::User); - cfg.setGroup("correction"); - int lastTime = cfg.readNumEntry("time",0); - int now = TimeConversion::toUTC( QDateTime::currentDateTime() ); - int corr = int((now - lastTime) * _shiftPerSec); - outPut->append( "time will be shifted by "+QString::number(corr)+ "secs"); - struct timeval myTv; - myTv.tv_sec = TimeConversion::toUTC( QDateTime::currentDateTime().addSecs(corr) ); - myTv.tv_usec = 0; - - if ( myTv.tv_sec != -1 ) - ::settimeofday( &myTv, 0 ); - Global::writeHWClock(); - cfg.writeEntry("time",now); - qDebug("current time: %s",QDateTime::currentDateTime().toString().latin1()); -} - -float Ntp::getTimeShift() -{ - QString _offset = "offset"; - QString _sec = "sec"; - QRegExp _reOffset = QRegExp(_offset); - QRegExp _reEndOffset = QRegExp(_sec); - int posOffset = _reOffset.match( _ntpOutput ); - int posEndOffset = _reEndOffset.match( _ntpOutput, posOffset ); - posOffset += _offset.length() + 1; - QString diff = _ntpOutput.mid(posOffset, posEndOffset-posOffset-1); - qDebug("%s", _ntpOutput.latin1()); - qDebug("diff = >%s<",diff.latin1()); - TextLabelTimeShift->setText(diff); - return diff.toFloat(); -}
\ No newline at end of file diff --git a/example/ntp.h b/example/ntp.h deleted file mode 100644 index c9c2e9b..0000000 --- a/example/ntp.h +++ b/dev/null @@ -1,35 +0,0 @@ -#ifndef NTP_H -#define NTP_H -#include "ntpbase.h" -#include <qdatetime.h> -#include <qtimer.h> - -class OProcess; -class QString; - - -class Ntp : public NtpBase -{ - Q_OBJECT - -public: - Ntp( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); - ~Ntp(); - - OProcess *ntpProcess; - -private: - QString _ntpOutput; - int _maxOffset; - float _shiftPerSec; - QTimer *_nextCorrection; - float getTimeShift(); - int _minLookupDiff; -private slots: - void slotRunNtp(); - void getNtpOutput(OProcess *proc, char *buffer, int buflen); - void ntpFinished(OProcess*); - void correctClock(); -}; - -#endif diff --git a/example/ntpbase.ui b/example/ntpbase.ui deleted file mode 100644 index eb09e4a..0000000 --- a/example/ntpbase.ui +++ b/dev/null @@ -1,322 +0,0 @@ -<!DOCTYPE UI><UI> -<class>NtpBase</class> -<widget> - <class>QWidget</class> - <property stdset="1"> - <name>name</name> - <cstring>NtpBase</cstring> - </property> - <property stdset="1"> - <name>geometry</name> - <rect> - <x>0</x> - <y>0</y> - <width>296</width> - <height>337</height> - </rect> - </property> - <property stdset="1"> - <name>caption</name> - <string>Network Time</string> - </property> - <property> - <name>layoutMargin</name> - </property> - <property> - <name>layoutSpacing</name> - </property> - <grid> - <property stdset="1"> - <name>margin</name> - <number>2</number> - </property> - <property stdset="1"> - <name>spacing</name> - <number>1</number> - </property> - <widget row="0" column="0" > - <class>QTabWidget</class> - <property stdset="1"> - <name>name</name> - <cstring>TabWidgetMain</cstring> - </property> - <property> - <name>layoutMargin</name> - </property> - <property> - <name>layoutSpacing</name> - </property> - <widget> - <class>QWidget</class> - <property stdset="1"> - <name>name</name> - <cstring>tabNtp</cstring> - </property> - <attribute> - <name>title</name> - <string>NTP</string> - </attribute> - <grid> - <property stdset="1"> - <name>margin</name> - <number>3</number> - </property> - <property stdset="1"> - <name>spacing</name> - <number>3</number> - </property> - <widget row="1" column="0" > - <class>QPushButton</class> - <property stdset="1"> - <name>name</name> - <cstring>runNtp</cstring> - </property> - <property stdset="1"> - <name>text</name> - <string>get time from network</string> - </property> - </widget> - <widget row="0" column="0" > - <class>QFrame</class> - <property stdset="1"> - <name>name</name> - <cstring>FrameNtp</cstring> - </property> - <property stdset="1"> - <name>frameShape</name> - <enum>StyledPanel</enum> - </property> - <property stdset="1"> - <name>frameShadow</name> - <enum>Raised</enum> - </property> - <property> - <name>layoutMargin</name> - </property> - <grid> - <property stdset="1"> - <name>margin</name> - <number>11</number> - </property> - <property stdset="1"> - <name>spacing</name> - <number>6</number> - </property> - <widget row="0" column="0" > - <class>QLayoutWidget</class> - <property stdset="1"> - <name>name</name> - <cstring>Layout4</cstring> - </property> - <vbox> - <property stdset="1"> - <name>margin</name> - <number>0</number> - </property> - <property stdset="1"> - <name>spacing</name> - <number>6</number> - </property> - <widget> - <class>QLabel</class> - <property stdset="1"> - <name>name</name> - <cstring>TextLabel1</cstring> - </property> - <property stdset="1"> - <name>autoMask</name> - <bool>false</bool> - </property> - <property stdset="1"> - <name>text</name> - <string>Start Time:</string> - </property> - </widget> - <widget> - <class>QLabel</class> - <property stdset="1"> - <name>name</name> - <cstring>TextLabelStartTime</cstring> - </property> - <property stdset="1"> - <name>text</name> - <string></string> - </property> - </widget> - <widget> - <class>QLabel</class> - <property stdset="1"> - <name>name</name> - <cstring>TextLabel3</cstring> - </property> - <property stdset="1"> - <name>text</name> - <string>Time Shift:</string> - </property> - </widget> - <widget> - <class>QLabel</class> - <property stdset="1"> - <name>name</name> - <cstring>TextLabelTimeShift</cstring> - </property> - <property stdset="1"> - <name>text</name> - <string></string> - </property> - </widget> - <widget> - <class>QLabel</class> - <property stdset="1"> - <name>name</name> - <cstring>TextLabel5</cstring> - </property> - <property stdset="1"> - <name>text</name> - <string>New Time:</string> - </property> - </widget> - <widget> - <class>QLabel</class> - <property stdset="1"> - <name>name</name> - <cstring>TextLabelNewTime</cstring> - </property> - <property stdset="1"> - <name>text</name> - <string></string> - </property> - </widget> - <spacer> - <property> - <name>name</name> - <cstring>Spacer1</cstring> - </property> - <property stdset="1"> - <name>orientation</name> - <enum>Vertical</enum> - </property> - <property stdset="1"> - <name>sizeType</name> - <enum>Expanding</enum> - </property> - <property> - <name>sizeHint</name> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - </vbox> - </widget> - <widget row="1" column="0" > - <class>QLayoutWidget</class> - <property stdset="1"> - <name>name</name> - <cstring>Layout6</cstring> - </property> - <hbox> - <property stdset="1"> - <name>margin</name> - <number>0</number> - </property> - <property stdset="1"> - <name>spacing</name> - <number>6</number> - </property> - <widget> - <class>QLabel</class> - <property stdset="1"> - <name>name</name> - <cstring>TextLabel7</cstring> - </property> - <property stdset="1"> - <name>text</name> - <string>NTP Server:</string> - </property> - </widget> - <widget> - <class>QLineEdit</class> - <property stdset="1"> - <name>name</name> - <cstring>LineEditNtpServer</cstring> - </property> - </widget> - </hbox> - </widget> - </grid> - </widget> - </grid> - </widget> - <widget> - <class>QWidget</class> - <property stdset="1"> - <name>name</name> - <cstring>tab</cstring> - </property> - <attribute> - <name>title</name> - <string>Auto Correction</string> - </attribute> - <widget> - <class>QTable</class> - <property stdset="1"> - <name>name</name> - <cstring>TableLookups</cstring> - </property> - <property stdset="1"> - <name>geometry</name> - <rect> - <x>10</x> - <y>10</y> - <width>270</width> - <height>220</height> - </rect> - </property> - <property stdset="1"> - <name>numRows</name> - <number>2</number> - </property> - <property stdset="1"> - <name>numCols</name> - <number>2</number> - </property> - </widget> - </widget> - <widget> - <class>QWidget</class> - <property stdset="1"> - <name>name</name> - <cstring>TabDebug</cstring> - </property> - <attribute> - <name>title</name> - <string>Debug</string> - </attribute> - <grid> - <property stdset="1"> - <name>margin</name> - <number>3</number> - </property> - <property stdset="1"> - <name>spacing</name> - <number>6</number> - </property> - <widget row="0" column="0" > - <class>QMultiLineEdit</class> - <property stdset="1"> - <name>name</name> - <cstring>outPut</cstring> - </property> - <property stdset="1"> - <name>wordWrap</name> - <enum>WidgetWidth</enum> - </property> - </widget> - </grid> - </widget> - </widget> - </grid> -</widget> -</UI> diff --git a/example/opie-netsystemtime.control b/example/opie-netsystemtime.control deleted file mode 100644 index e6f5e2d..0000000 --- a/example/opie-netsystemtime.control +++ b/dev/null @@ -1,8 +0,0 @@ -Files: bin/netsystemtime apps/Settings/ntpdatetime.desktop -Priority: optional -Section: opie/settings -Maintainer: Patrick S. Vogt <tille@handhelds.org> -Architecture: arm -Version: $QPE_VERSION-$SUB_VERSION -Depends: opie-base ($QPE_VERSION) -Description: ntp ( Network Time Protocol) gui |