summaryrefslogtreecommitdiffstats
path: root/karm/karmdcopiface.h
diff options
context:
space:
mode:
Diffstat (limited to 'karm/karmdcopiface.h')
-rw-r--r--karm/karmdcopiface.h132
1 files changed, 132 insertions, 0 deletions
diff --git a/karm/karmdcopiface.h b/karm/karmdcopiface.h
new file mode 100644
index 000000000..1135c81e6
--- /dev/null
+++ b/karm/karmdcopiface.h
@@ -0,0 +1,132 @@
+/*
+ * This file only:
+ * Copyright (C) 2004 Mark Bucciarelli <mark@hubcapconsulting.com>
+ *
+ * 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.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA.
+ */
+#ifndef KARM_DCOP_IFAC_H
+#define KARM_DCOP_IFAC_H
+
+#include <dcopobject.h>
+
+/** Define DCOP interface to karm. Methods implemented in MainWindow */
+class KarmDCOPIface : virtual public DCOPObject
+{
+ K_DCOP
+ k_dcop:
+
+ /** Return karm version. */
+ virtual QString version() const = 0;
+
+ /** Return id of task found, empty string if no match. */
+ virtual QString taskIdFromName( const QString& taskName ) const = 0;
+
+ /**
+ * Add a new top-level task.
+ *
+ * A top-level task is one that has no parent tasks.
+ *
+ * @param taskName Name of new task.
+ *
+ * @return 0 on success, error number on failure.
+ */
+ virtual int addTask( const QString& taskName ) = 0;
+
+ /**
+ * Set percent complete to a task
+ *
+ * @param taskName Name of new task.
+ * @param perCent percent, e.g. 99
+ *
+ * @return "" on success, error msg on failure.
+ */
+ virtual QString setPerCentComplete( const QString& taskName, int perCent ) = 0;
+
+ /**
+ * Add time to a task.
+ *
+ * The GUI will be non-responsive until this method returns.
+ *
+ * @return 0 on success, error number on failure.
+ *
+ * @param taskId Unique ID of task to add time to
+ *
+ * @param iso8601StartDateTime Date and time the booking starts, in extended
+ * ISO-8601 format; for example, YYYY-MM-DDTHH:MI:SS format (see
+ * Qt::ISODate). No timezone support--time is interpreted as the local time.
+ * If just the date is passed in (i.e., YYYY-MM-DD) , then the time is set to
+ * noon.
+ *
+ * @param durationInMinutes The amount of time to book against the taskId.
+ *
+ */
+ virtual int bookTime( const QString& taskId, const QString& iso8601StartDateTime,
+ long durationInMinutes ) = 0;
+
+ /**
+ * Return error string associated with karm error number.
+ *
+ * @param karmErrorNumber An integer error number.
+ *
+ * @return String associated with error number. These strings are
+ * internationalized. An unknown error number produces an empty string as
+ * the return value.
+ *
+ */
+ virtual QString getError( int karmErrorNumber ) const = 0;
+
+ /**
+ * Total time currently associated with a task.
+ *
+ * A task has two counters: the total session time and the total time. Note
+ * that th euser can reset both counters.
+ *
+ * @param taskId Unique ID of task to lookup bookings for.
+ */
+ virtual int totalMinutesForTaskId( const QString& taskId ) = 0;
+
+ /** Start timer for all tasks with the summary taskname. */
+ // may conflict with unitaskmode
+ virtual QString starttimerfor( const QString& taskname ) = 0;
+
+ /** Stop timer for all tasks with the summary taskname. */
+ // may conflict with unitaskmode
+ virtual QString stoptimerfor( const QString& taskname ) = 0;
+
+ /** delete the current item */
+ virtual QString deletetodo() = 0;
+
+ /** set if prompted on deleting a task */
+ virtual QString setpromptdelete( bool prompt ) = 0;
+
+ /** get if prompted on deleting a task */
+ virtual bool getpromptdelete() = 0;
+
+ /** export csv history or totals file */
+ virtual QString exportcsvfile( QString filename, QString from, QString to, int type = 0, bool decimalMinutes=true, bool allTasks=true, QString delimiter=";", QString quote="'" ) = 0;
+
+ /** import planner project file */
+ virtual QString importplannerfile( QString filename ) = 0;
+
+ /** save your tasks */
+ virtual bool save() = 0;
+
+ /** Graceful shutdown. */
+ virtual void quit() = 0;
+};
+
+#endif // KARM_DCOP_IFAC_H