summaryrefslogtreecommitdiffstats
path: root/src/k3blsofwrapper.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/k3blsofwrapper.h')
-rw-r--r--src/k3blsofwrapper.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/k3blsofwrapper.h b/src/k3blsofwrapper.h
new file mode 100644
index 0000000..8ab11dc
--- /dev/null
+++ b/src/k3blsofwrapper.h
@@ -0,0 +1,60 @@
+/*
+ *
+ * $Id: sourceheader 511311 2006-02-19 14:51:05Z trueg $
+ * Copyright (C) 2006 Sebastian Trueg <trueg@k3b.org>
+ *
+ * This file is part of the K3b project.
+ * Copyright (C) 1998-2007 Sebastian Trueg <trueg@k3b.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * See the file "COPYING" for the exact licensing terms.
+ */
+
+#ifndef _K3B_LSOF_WRAPPER_H_
+#define _K3B_LSOF_WRAPPER_H_
+
+#include <qvaluelist.h>
+
+namespace K3bDevice {
+ class Device;
+}
+
+
+class K3bLsofWrapper
+{
+ public:
+ K3bLsofWrapper();
+ ~K3bLsofWrapper();
+
+ /**
+ * Checks which processes currently have an open file descriptor
+ * to the device.
+ *
+ * \return true if lsof was successfully called.
+ */
+ bool checkDevice( K3bDevice::Device* );
+
+ struct Process {
+ QString name;
+ int pid;
+ };
+
+ /**
+ * \return A list of all applications that had an open
+ * handle on the device used in the last successful call
+ * to checkDevice.
+ */
+ const QValueList<Process>& usingApplications() const;
+
+ private:
+ bool findLsofExecutable();
+
+ class Private;
+ Private* d;
+};
+
+#endif
+