summaryrefslogtreecommitdiffstats
path: root/src/tdebluezioslave/obex/tdeio_obex.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/tdebluezioslave/obex/tdeio_obex.h')
-rw-r--r--src/tdebluezioslave/obex/tdeio_obex.h135
1 files changed, 135 insertions, 0 deletions
diff --git a/src/tdebluezioslave/obex/tdeio_obex.h b/src/tdebluezioslave/obex/tdeio_obex.h
new file mode 100644
index 0000000..afa4b2e
--- /dev/null
+++ b/src/tdebluezioslave/obex/tdeio_obex.h
@@ -0,0 +1,135 @@
+/*
+ This file is part of tdeio_obex.
+
+ Copyright (c) 2003 Mathias Froehlich <[email protected]>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Steet, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+ */
+
+#ifndef TDEIO_OBEX_H
+#define TDEIO_OBEX_H
+
+#include <tdeio/global.h>
+#include <tdeio/job.h>
+#include <tdeio/slavebase.h>
+
+#include <tqdbusobjectpath.h>
+
+#include <interfaces/client1Proxy.h>
+#include <interfaces/session1Proxy.h>
+#include <interfaces/propertiesProxy.h>
+#include <obexobjectmanagerImpl.h>
+
+#include "obex.h"
+
+class ObexProtocol: public TQObject, public TDEIO::SlaveBase {
+
+ Q_OBJECT
+
+public:
+ ObexProtocol(const TQCString &protcol, const TQCString &pool_socket,
+ const TQCString &app_socket);
+ virtual ~ObexProtocol();
+// virtual void openConnection();
+ virtual void closeConnection();
+ virtual void stat(const KURL& url);
+ virtual void listDir(const KURL& url);
+ virtual void get(const KURL& url);
+ virtual void copy(const KURL &src, const KURL &dest, int permissions,
+ bool overwrite);
+ virtual void put(const KURL& url, int permissions, bool overwrite,
+ bool resume);
+ virtual void del(const KURL &url, bool isfile);
+ // virtual void chmod(const KURL& url, int permissions);
+// virtual void rename(const KURL& src, const KURL& dest, bool overwrite);
+ virtual void mkdir(const KURL&url, int permissions);
+
+private:
+ // Private variables
+ /** True if ioslave is connected to server. */
+ bool mConnected;
+
+ /** Host we are connected to. */
+ TQString mHost;
+
+ /**
+ The protocol to be used.
+ */
+ TQString mProtocol;
+
+ /**
+ Pointer to the obex obejct.
+ */
+ Obex *obex;
+
+ /**
+ Pointer to the obex client class.
+ */
+ org::bluez::obex::Client1Proxy* mClient;
+
+ /**
+ Pointer to the obex session class.
+ */
+ org::bluez::obex::Session1Proxy* mSession;
+ org::freedesktop::DBus::PropertiesProxy* mSessionProperties;
+ org::bluez::obex::FileTransfer1Proxy* mFileTransfer;
+ TQT_DBusObjectPath mSessionPath;
+ TQString mAddress;
+
+ /**
+ Pointer to the obex agent manager class.
+ */
+ TDEObex::ObexObjectManagerImpl* mManager;
+
+ /** Channel we are connected to. */
+ int mChannel;
+
+ struct Status {
+ int code;
+ TDEIO::filesize_t size;
+ TQString text;
+ };
+
+private:
+ // private methods
+
+ /**
+ Helper functions.
+ */
+ bool connectObex();
+ void closeObex();
+ bool changeWorkingDirectory(const TQString& to);
+
+private slots:
+ void slotPropertiesChanged(const TQString& interface,
+ const TQMap<TQString, TQT_DBusVariant>& changed_properties,
+ const TQStringList& invalidated_properties);
+
+signals:
+ void sessionSourceChanged(TQT_DBusObjectPath &path,bool ok);
+ void sessionDestinationChanged(TQT_DBusObjectPath &path, TQString value);
+ void sessionChannelChanged(TQT_DBusObjectPath &path, TQ_UINT8 value);
+ void sessionTargetChanged(TQT_DBusObjectPath &path, TQString value);
+ void sessionRootChanged(TQT_DBusObjectPath &path, TQString value);
+
+ void transferSizeChanged(TQT_DBusObjectPath &path, TQ_UINT64 value);
+ void transferStatusChanged(TQT_DBusObjectPath &path, TQString value);
+ void transferTransferredChanged(TQT_DBusObjectPath &path, TQ_UINT64 value);
+ void transferTimeChanged(TQT_DBusObjectPath &path, TQ_UINT64 value);
+ void transferFilenameChanged(TQT_DBusObjectPath &path, TQString value);
+};
+
+#endif