Main Page   Namespace List   Class Hierarchy   Data Structures   File List   Namespace Members   Data Fields   Globals  

client.hpp

Go to the documentation of this file.
00001 /*
00002  * ====================================================================
00003  * Copyright (c) 2002, 2003 The RapidSvn Group.  All rights reserved.
00004  *
00005  * This software is licensed as described in the file LICENSE.txt,
00006  * which you should have received as part of this distribution.
00007  *
00008  * This software consists of voluntary contributions made by many
00009  * individuals.  For exact contribution history, see the revision
00010  * history and logs, available at http://rapidsvn.tigris.org/.
00011  * ====================================================================
00012  */
00013 
00014 #ifndef _SVNCPP_CLIENT_H_
00015 #define _SVNCPP_CLIENT_H_
00016 
00017 // stl
00018 #include <vector>
00019 
00020 // svncpp
00021 #include "context.hpp"
00022 #include "path.hpp"
00023 #include "revision.hpp"
00024 #include "log_entry.hpp"
00025 
00029 namespace svn
00030 {
00031   // forward declarations
00032   class Context;
00033   class Notify;
00034   class Status;
00035   class Targets;
00036   class DirEntry;
00037 
00038   typedef std::vector<LogEntry> LogEntries;
00039   typedef std::vector<Status> StatusEntries;
00040   typedef std::vector<DirEntry> DirEntries;
00041 
00045   class Client
00046   {
00047   public:
00051     Client (Context * context = 0);
00052 
00053     virtual ~Client ();
00054 
00055 
00059     const Context * 
00060     getContext () const;
00061 
00069     void 
00070     setContext (Context * context = NULL);
00071 
00084     StatusEntries 
00085     status (const char * path,
00086             const bool descend = false,
00087             const bool get_all = true,
00088             const bool update = false,
00089             const bool no_ignore = false);
00090 
00099     Status 
00100     singleStatus (const char * path);
00101 
00111     void 
00112     checkout (const char * moduleName, const Path & destPath, 
00113               const Revision & revision, bool recurse);
00114   
00122     void 
00123     notification (Notify * notify);
00124 
00129     void 
00130     remove (const Path & path, bool force);
00131 
00139     void 
00140     remove (const Targets & targets, bool force);
00141 
00146     void 
00147     revert (const Path & path, bool recurse);
00148 
00153     void 
00154     add (const Path & path, bool recurse);
00155 
00165     void 
00166     update (const Path & path, const Revision & revision, 
00167             bool recurse);
00168 
00177     std::string
00178     cat (const Path & path, const Revision & revision);
00179 
00190     svn_revnum_t
00191     commit (const Targets & targets, const char * message, bool recurse);
00192 
00197     void 
00198     copy (const Path & srcPath, 
00199           const Revision & srcRevision,
00200           const Path & destPath);
00201 
00206     void 
00207     move (const Path & srcPath, 
00208           const Revision & srcRevision, 
00209           const Path & destPath, 
00210           bool force);
00211 
00219     void 
00220     mkdir (const Path & path, const char * message);
00221 
00229     void 
00230     mkdir (const Targets & targets, const char * message);
00231 
00238     void 
00239     cleanup (const Path & path);
00240 
00245     void 
00246     resolved (const Path & path, bool recurse);
00247 
00258     void 
00259     doExport (const Path & srcPath, const Path & destPath, 
00260               const Revision & revision, bool force=false);
00261 
00267     void 
00268     doSwitch (const Path & path, const char * url, 
00269               const Revision & revision, bool recurse);
00270 
00280     void 
00281     import (const Path & path, const char * url,
00282             const char * message, bool recurse);
00283 
00288     void 
00289     merge (const Path & path1, const Revision & revision1, 
00290            const Path & path2, const Revision & revision2,
00291            const Path & localPath, bool force, bool recurse);
00292 
00306     const LogEntries *
00307     log (const char * path, const Revision & revisionStart, 
00308          const Revision & revisionEnd);
00309 
00332     std::string
00333     diff (const Path & tmpPath, const Path & path,
00334           const Revision & revision1, const Revision & revision2,
00335           const bool recurse, const bool ignoreAncestry,
00336           const bool noDiffDeleted);
00337 
00346     DirEntries
00347     ls (const char * pathOrUrl,
00348         svn_opt_revision_t * revision,
00349         bool recurse);
00350 
00351   private:
00352     Context * m_context;
00353     Notify * m_notify;
00354 
00358     Client & operator= (const Client &);
00359 
00363     Client (const Client &);
00364 
00365   };
00366 
00367 }
00368 
00369 #endif
00370 /* -----------------------------------------------------------------
00371  * local variables:
00372  * eval: (load-file "../../rapidsvn-dev.el")
00373  * end:
00374  */

Generated on Thu Aug 28 13:22:35 2003 for SvnCpp by doxygen1.2.15