/* * Copyright (c) 2002-2004 Christian Loose * * This program 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 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 * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public License * along with this program; see the file COPYING. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. * */ #ifndef CVSSERVICE_H #define CVSSERVICE_H #include #include #include class TQString; class KDE_EXPORT CvsService : public DCOPObject { K_DCOP public: CvsService(); ~CvsService(); k_dcop: /** * Adds new files to an existing project. The files don't actually * appear in the repository until a subsequent commit is performed. * * @param files A list of files that should be added to the repository. * @param isBinary Set to true to treat the files as binary files (-kb) * * @return A DCOP reference to the cvs job or in case of failure a * null reference. */ DCOPRef add(const TQStringList& files, bool isBinary); /** */ DCOPRef addWatch(const TQStringList& files, int events); /** * Shows information on who last modified each line of a file and when. * * @param fileName the name of the file to show annotations for * @param revision show annotations for this revision (number or tag) * * @return A DCOP reference to the cvs job or in case of failure a * null reference. */ DCOPRef annotate(const TQString& fileName, const TQString& revision); /** * Checks out a module from the repository into a working copy. * * @param workingDir path to a local working copy directory * @param repository * @param module the name of the module * @param tag * @param pruneDirs remove empty directories from the working copy. * * @return A DCOP reference to the cvs job or in case of failure a * null reference. */ DCOPRef checkout(const TQString& workingDir, const TQString& repository, const TQString& module, const TQString& tag, bool pruneDirs); /** * Checks out a module from the repository into a working copy. * * @param workingDir path to a local working copy directory * @param repository * @param module the name of the module * @param tag * @param pruneDirs remove empty directories from the working copy. * @param alias alternative directory to check out to * @param exportOnly flag to show we want a cvs export rather than a checkout * * @return A DCOP reference to the cvs job or in case of failure a * null reference. */ //### KDE4: merge with above checkout() method DCOPRef checkout(const TQString& workingDir, const TQString& repository, const TQString& module, const TQString& tag, bool pruneDirs, const TQString& alias, bool exportOnly); /** * Checks out a module from the repository into a working copy. * * @param workingDir path to a local working copy directory * @param repository * @param module the name of the module * @param tag * @param pruneDirs remove empty directories from the working copy. * @param alias alternative directory to check out to * @param exportOnly flag to show we want a cvs export rather than a checkout * @param recursive check out dirs recursively * * @return A DCOP reference to the cvs job or in case of failure a * null reference. */ DCOPRef checkout(const TQString& workingDir, const TQString& repository, const TQString& module, const TQString& tag, bool pruneDirs, const TQString& alias, bool exportOnly, bool recursive); /** * * @param files A list of files with changes that should be committed to * the repository. * @param commitMessage log message describing the changes * @param recursive * * @return A DCOP reference to the cvs job or in case of failure a * null reference. */ DCOPRef commit(const TQStringList& files, const TQString& commitMessage, bool recursive); /** * Creates a new root repository. * * @param repository */ DCOPRef createRepository(const TQString& repository); /** */ DCOPRef createTag(const TQStringList& files, const TQString& tag, bool branch, bool force); /** */ DCOPRef deleteTag(const TQStringList& files, const TQString& tag, bool branch, bool force); /** */ DCOPRef downloadCvsIgnoreFile(const TQString& repository, const TQString& outputFile); /** */ DCOPRef downloadRevision(const TQString& fileName, const TQString& revision, const TQString& outputFile); /** */ DCOPRef downloadRevision(const TQString& fileName, const TQString& revA, const TQString& outputFileA, const TQString& revB, const TQString& outputFileB); /** * * @param fileName * @param revA * @param revB * @param diffOptions * @param contextLines * * @return A DCOP reference to the cvs job or in case of failure a * null reference. */ DCOPRef diff(const TQString& fileName, const TQString& revA, const TQString& revB, const TQString& diffOptions, unsigned contextLines); /** * * @param fileName * @param revA * @param revB * @param diffOptions * @param format * * @return A DCOP reference to the cvs job or in case of failure a * null reference. */ DCOPRef diff(const TQString& fileName, const TQString& revA, const TQString& revB, const TQString& diffOptions, const TQString& format); /** * @param files */ DCOPRef edit(const TQStringList& files); /** * @param files */ DCOPRef editors(const TQStringList& files); /** * Shows a history of activity (like checkouts, commits, etc) in the * repository for all users and all record types. * * @return A DCOP reference to the cvs job or in case of failure a * null reference. */ DCOPRef history(); /** * @return A DCOP reference to the cvs job or in case of failure a * null reference. */ DCOPRef import(const TQString& workingDir, const TQString& repository, const TQString& module, const TQString& ignoreList, const TQString& comment, const TQString& vendorTag, const TQString& releaseTag, bool importAsBinary); /** * @return A DCOP reference to the cvs job or in case of failure a * null reference. */ //### KDE4: merge with above import() method DCOPRef import(const TQString& workingDir, const TQString& repository, const TQString& module, const TQString& ignoreList, const TQString& comment, const TQString& vendorTag, const TQString& releaseTag, bool importAsBinary, bool useModificationTime); /** * @param files */ DCOPRef lock(const TQStringList& files); /** * Shows log messages for a file. * * @param fileName the name of the file to show log messages for * * @return A DCOP reference to the cvs job or in case of failure a * null reference. */ DCOPRef log(const TQString& fileName); /** * @param repository * * @return A DCOP reference to the cvs job or in case of failure a * null reference. */ DCOPRef login(const TQString& repository); /** * @param repository * * @return A DCOP reference to the cvs job or in case of failure a * null reference. */ DCOPRef logout(const TQString& repository); /** */ DCOPRef makePatch(); /** */ //### KDE4: merge with above makePatch() method DCOPRef makePatch(const TQString& diffOptions, const TQString& format); /** * @param repository * * @return A DCOP reference to the cvs job or in case of failure a * null reference. */ DCOPRef moduleList(const TQString& repository); /** * Deletes files from the local working copy and schedules them to be * removed from the repository. The files don't actually disappear from * the repository until a subsequent commit is performed. * * @param files A list of files that should be removed from the repository. * @param recursive descend into subdirectories. * * @return A DCOP reference to the cvs job or in case of failure a * null reference. */ DCOPRef remove(const TQStringList& files, bool recursive); /** */ DCOPRef removeWatch(const TQStringList& files, int events); /** */ DCOPRef rlog(const TQString& repository, const TQString& module, bool recursive); /** * Shows a summary of what's been done locally, without changing the * working copy. (cvs -n update) * * @param files * @param recursive descend into subdirectories. * @param createDirs * @param pruneDirs * * @return A DCOP reference to the cvs job or in case of failure a * null reference. */ DCOPRef simulateUpdate(const TQStringList& files, bool recursive, bool createDirs, bool pruneDirs); /** * Shows the status of the files in the working copy. * * @param files * @param recursive descend into subdirectories. * @param tagInfo show tag information for the file. * * @return A DCOP reference to the cvs job or in case of failure a * null reference. */ DCOPRef status(const TQStringList& files, bool recursive, bool tagInfo); /** * @param files */ DCOPRef unedit(const TQStringList& files); /** * @param files */ DCOPRef unlock(const TQStringList& files); /** * Merges changes from the repository into the files of the * working copy. * * @param files A list of files that should be updated. * @param recursive descend into subdirectories. * @param createDirs create directories that exist in the repository * but not yet in the working copy. * @param pruneDirs remove empty directories from the working copy. * @param extraOpt * * @return A DCOP reference to the cvs job or in case of failure a * null reference. */ DCOPRef update(const TQStringList& files, bool recursive, bool createDirs, bool pruneDirs, const TQString& extraOpt); /** * @param files */ DCOPRef watchers(const TQStringList& files); /** * Quits the DCOP service. */ void quit(); private: struct Private; Private* d; }; #endif