@@ -1,5 +1,5 @@
/*
* Copyright 2011 bac1ca bac1ca89@gmail.com
* Copyright 2012 Ivan Bezyazychnyy ivan.bezyazychnyy@gmail.com
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -29,28 +29,37 @@
* The advertising clause requiring mention in adverts must never be included.
*/

/*! ---------------------------------------------------------------
* \file Filter.h
* \brief Header of Filter
* \todo add comment here
*
* File description
*
* PROJ: OSLL/geo2tag
* ---------------------------------------------------------------- */
#ifndef SOSWIDGET_H
#define SOSWIDGET_H

#include <QWidget>
#include <QPushButton>
#include "WriteTagQuery.h"
#include "Settings.h"
#include "LocationManager.h"

#ifndef _Filter_H_F1B0F887_FC25_4557_B002_AC962387F3F9_INCLUDED_
#define _Filter_H_F1B0F887_FC25_4557_B002_AC962387F3F9_INCLUDED_
class SosWidget : public QWidget
{
Q_OBJECT

#include <QSharedPointer>
#include "DataMarks.h"
QPushButton *m_sosButton;
WriteTagQuery *m_writeSosQuery;
Settings m_settings;
LocationManager *m_locationManager;

class Filter
{
public:
virtual bool filtrate(const QSharedPointer<DataMark> &mark) = 0;
explicit SosWidget(LocationManager *locationManager, QWidget *parent = 0);

signals:

public slots:
void sos();
void onSosSent();
void onError(QString error);


}; // class Filter
private:
void initGUI();
};

#endif //_Filter_H_F1B0F887_FC25_4557_B002_AC962387F3F9_INCLUDED_
#endif // SOSWIDGET_H
@@ -1,5 +1,5 @@
/*
* Copyright 2011 bac1ca bac1ca89@gmail.com
* Copyright 2012 Ivan Bezyazychnyy ivan.bezyazychnyy@gmail.com
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -29,28 +29,40 @@
* The advertising clause requiring mention in adverts must never be included.
*/

/*! ---------------------------------------------------------------
* \file FShape.h
* \brief Header of FShape
* \todo add comment here
*
* File description
*
* PROJ: OSLL/geo2tag
* ---------------------------------------------------------------- */

#ifndef TRACKINGSERVICE_H
#define TRACKINGSERVICE_H

#ifndef _FShape_H_2055D9DC_F9B0_419F_A486_DF9A5459E64B_INCLUDED_
#define _FShape_H_2055D9DC_F9B0_419F_A486_DF9A5459E64B_INCLUDED_

#include <QSharedPointer>
#include <QPointF>
#include "WriteTagQuery.h"
#include "LocationManager.h"
#include "DataMarks.h"

class FShape
class TrackingService : public QObject
{
Q_OBJECT

WriteTagQuery *m_writeTagQuery;
LocationManager *m_locationManager;
QSharedPointer<DataMark> m_dataMark;
QSharedPointer<common::User> m_user;
QSharedPointer<Channel> m_channel;

public:
virtual bool filtrate(const QSharedPointer<DataMark> &mark) = 0;
explicit TrackingService(LocationManager *locationManager, QObject *parent = 0);

public slots:
void startTracking(QString name, QString password, QString authToken, QString serverUrl);
void stopTracking();

signals:
void markSent(QPointF coordinates);
void errorOccured(QString error);

private slots:
void sendMark();
void onMarkSent();
void onError(QString error);

}; // class Filter
};

#endif //_FShape_H_2055D9DC_F9B0_419F_A486_DF9A5459E64B_INCLUDED_
#endif // TRACKINGSERVICE_H
@@ -1,5 +1,5 @@
/*
* Copyright 2011 bac1ca bac1ca89@gmail.com
* Copyright 2012 Ivan Bezyazychnyy ivan.bezyazychnyy@gmail.com
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -29,34 +29,53 @@
* The advertising clause requiring mention in adverts must never be included.
*/

/*! ---------------------------------------------------------------
* \file FShapePolygon.h
* \brief Header of FShapePolygon
* \todo add comment here
*
* File description
*
* PROJ: OSLL/geo2tag
* ---------------------------------------------------------------- */

#ifndef TRACKINGWIDGET_H
#define TRACKINGWIDGET_H

#ifndef _FShapePolygon_H_A08ADAEE_DA07_4E75_A64D_F4F86290B7D1_INCLUDED_
#define _FShapePolygon_H_A08ADAEE_DA07_4E75_A64D_F4F86290B7D1_INCLUDED_

#include "FShape.h"
#include <QWidget>
#include <QPushButton>
#include <QLabel>
#include <QPointF>
#include <QTextEdit>
#include <QThread>

#include "TrackingService.h"
#include "Settings.h"
#include "LocationManager.h"

class FShapePolygon : public FShape
class TrackingWidget : public QWidget
{
QList<QPointF> m_points;
Q_OBJECT

QPushButton *m_trackingButton;
QLabel *m_status;
QTextEdit *m_log;

LocationManager *m_locationManager;
Settings m_settings;
QThread m_trackingThread;
TrackingService m_trackingService;

public:
FShapePolygon();
explicit TrackingWidget(LocationManager *locationManager, QWidget *parent = 0);

bool isTracking() const;

signals:

public slots:
void startTracking();
void stopTracking();
void changeTrackingMode();
void checkTrackingMode();
void appendToLog(QString message);
void onMarkSent(QPointF coords);
void onError(QString error);

void addPoint(int idx, double lat, double lon);
private:
void initGUI();

bool filtrate(const QSharedPointer<DataMark> &mark);

}; // class FShapePolygon
};

#endif //_FShapePolygon_H_A08ADAEE_DA07_4E75_A64D_F4F86290B7D1_INCLUDED_
#endif // TRACKINGWIDGET_H
@@ -1,19 +1,31 @@
#ifndef DEFINES_H
#define DEFINES_H

#define DEFAULT_USER_NAME "Mark"
#define DEFAULT_USER_PASSWORD "test"
#define DEFAULT_REMEMBER true
#define DEFAULT_URL "http://127.0.0.1/"
#define DEFAULT_USER_NAME "Mark"
#define DEFAULT_USER_PASSWORD "test"
#define DEFAULT_REMEMBER true
#define DEFAULT_TOKEN "fake token"
#define DEFAULT_URL "http://127.0.0.1/"
#define DEFAULT_TRACKING_PERIOD 10
#define DEFAULT_LOCATION_TIMEOUT 10
#define EVENTS_CHANNEL "Events"
#define EVENTS_RADIUS 30
#define RELEVANT_PERIOD_IN_HOURS 240
#define NOT_RECEIVE_OWN_EVENTS true

#define SUBSCRIBE_HTTP_URL "service/subscribe"
#define SUBSCRIBE_HTTP_URL "/service/subscribe"
#define UNSUBSCRIBE_HTTP_URL QString(DEFAULT_URL)+QString("service/unsubscribe")
#define APPLY_HTTP_URL QString(DEFAULT_URL)+QString("service/writeTag")
#define FEED_HTTP_URL QString(DEFAULT_URL)+QString("service/loadTags")
#define APPLY_HTTP_URL "/service/writeTag"
#define FEED_HTTP_URL "/service/loadTags"
#define SUBSCRIBED_LIST_HTTP_URL QString(DEFAULT_URL)+QString("service/subscribed")
#define AVAILABLE_LIST_HTTP_URL QString(DEFAULT_URL)+QString("service/channels")
#define LOGIN_HTTP_URL "/service/login"
#define APPLY_CHANNEL_HTTP_URL QString(DEFAULT_URL)+QString("service/addChannel")
#define ADD_USER_HTTP_URL QString(DEFAULT_URL)+QString("service/addUser")
#define ADD_CHANNEL_HTTP_URL "/service/addChannel"
#define ADD_USER_HTTP_URL "/service/addUser"
#define REGISTER_USER_HTTP_URL "/service/addUser"
#define FILTER_CIRCLE_HTTP_URL "/service/filterCircle"

#include <QString>
QString getErrnoDescription(int err);

#endif
@@ -1,3 +1,34 @@
/*
* Copyright 2012 Ivan Bezyazychnyy ivan.bezyazychnyy@gmail.com
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* 3. The name of the author may not be used to endorse or promote
* products derived from this software without specific prior written
* permission.
*
* The advertising clause requiring mention in adverts must never be included.
*/

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

@@ -32,6 +63,7 @@ class MainWindow : public QMainWindow
QMenu *m_menu;
QAction *m_settingsAction;
QAction *m_signOutAction;
QAction *m_exitAction;

public:
enum ScreenOrientation {
@@ -56,6 +88,7 @@ public slots:

void onSettingsAction();
void onSignOutAction();
void onExitAction();

private:
void createActions();
@@ -0,0 +1,10 @@

#ifndef UTILS_H
#define UTILS_H

#include <QString>
#include "ErrnoTypes.h"

QString getErrnoDescription(int errno);

#endif /* UTILS_H */

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.