00001
00002 #ifndef OpieTooth_Connection_H
00003 #define OpieTooth_Connection_H
00004
00005 #include <qstring.h>
00006 #include <qvaluelist.h>
00007 #include <qobject.h>
00008
00009 namespace OpieTooth {
00010
00011
00012
00013
00019 class StartConnection : public QObject {
00020
00021 protected:
00022
00023 enum ConnectionType{
00024 Pan = 0,
00025 Rfcomm,
00026 Obex,
00027 Hci
00028 };
00029
00030 virtual ~StartConnection() {};
00031
00032 virtual QString name() = 0;
00033 virtual void setName( QString name ) = 0;
00034 virtual ConnectionType type() = 0;
00035 virtual void setConnectionType() = 0;
00036 virtual void start() = 0;
00037 virtual void stop() = 0;
00038
00039 };
00040
00041 enum LinkDirection { Incoming= true, Outgoing = false };
00042 enum LinkMode { Master =0, Client };
00043
00044
00051 class ConnectionState {
00052 public:
00057 typedef QValueList<ConnectionState> ValueList;
00058
00062 ConnectionState( const ConnectionState& );
00063
00078 ConnectionState( bool in,
00079 const QString& conType,
00080 const QString& mac,
00081 int handle,
00082 int state,
00083 int linkMode );
00084
00089 ConnectionState();
00090
00098 void setDirection( bool incoming = Incoming );
00099
00105 bool direction() const;
00106
00111 void setConnectionMode( const QString& comMode );
00112
00117 QString connectionMode() const;
00118
00124 void setMac( const QString& mac);
00125
00129 QString mac() const;
00130
00131
00135 void setHandle(int handle );
00136
00140 int handle() const;
00141
00145 void setState( int state );
00146
00150 int state() const;
00151
00155 void setLinkMode( int linkMode = Master );
00156
00160 int linkMode()const;
00161
00165 ConnectionState &operator=( const ConnectionState& );
00166
00167 private:
00168 class ConnectionStatePrivate;
00169 ConnectionStatePrivate *d;
00170 bool m_direction : 1;
00171 QString m_contype;
00172 QString m_mac;
00173 int m_handle;
00174 int m_state;
00175 int m_linkMode;
00176
00177 };
00178 };
00179
00180
00181 #endif