/* * This file only: * Copyright (C) 2004 Mark Bucciarelli * * 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 /** Define DCOP interface to karm. Methods implemented in MainWindow */ class KarmDCOPIface : virtual public DCOPObject { K_DCOP k_dcop: /** Return karm version. */ virtual TQString version() const = 0; /** Return id of task found, empty string if no match. */ virtual TQString taskIdFromName( const TQString& 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 TQString& 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 TQString setPerCentComplete( const TQString& 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 * TQt::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 TQString& taskId, const TQString& 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 TQString 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 TQString& taskId ) = 0; /** Start timer for all tasks with the summary taskname. */ // may conflict with unitaskmode virtual TQString starttimerfor( const TQString& taskname ) = 0; /** Stop timer for all tasks with the summary taskname. */ // may conflict with unitaskmode virtual TQString stoptimerfor( const TQString& taskname ) = 0; /** delete the current item */ virtual TQString deletetodo() = 0; /** set if prompted on deleting a task */ virtual TQString setpromptdelete( bool prompt ) = 0; /** get if prompted on deleting a task */ virtual bool getpromptdelete() = 0; /** export csv history or totals file */ virtual TQString exportcsvfile( TQString filename, TQString from, TQString to, int type = 0, bool decimalMinutes=true, bool allTasks=true, TQString delimiter=";", TQString quote="'" ) = 0; /** import planner project file */ virtual TQString importplannerfile( TQString filename ) = 0; /** save your tasks */ virtual bool save() = 0; /** Graceful shutdown. */ virtual void quit() = 0; }; #endif // KARM_DCOP_IFAC_H