X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftags%2Fsynfigstudio_0_61_03%2Fsynfig-studio%2Fsrc%2Fsynfigapp%2Fcvs.h;fp=synfig-studio%2Ftags%2Fsynfigstudio_0_61_03%2Fsynfig-studio%2Fsrc%2Fsynfigapp%2Fcvs.h;h=d33e2cb2c37df30d01c3ba5156e9c5b3c19ed8a2;hb=da707947f2c5d17050f34debe532902971af6f60;hp=0000000000000000000000000000000000000000;hpb=761e5fbff7ec410ef90050e3125dd21cf11182a9;p=synfig.git diff --git a/synfig-studio/tags/synfigstudio_0_61_03/synfig-studio/src/synfigapp/cvs.h b/synfig-studio/tags/synfigstudio_0_61_03/synfig-studio/src/synfigapp/cvs.h new file mode 100644 index 0000000..d33e2cb --- /dev/null +++ b/synfig-studio/tags/synfigstudio_0_61_03/synfig-studio/src/synfigapp/cvs.h @@ -0,0 +1,104 @@ +/* === S Y N F I G ========================================================= */ +/*! \file cvs.h +** \brief Template Header +** +** $Id: cvs.h,v 1.1.1.1 2005/01/07 03:34:37 darco Exp $ +** +** \legal +** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** +** This package 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 package 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. +** \endlegal +*/ +/* ========================================================================= */ + +/* === S T A R T =========================================================== */ + +#ifndef __SYNFIG_CVS_H +#define __SYNFIG_CVS_H + +/* === H E A D E R S ======================================================= */ + +#include +#include + +/* === M A C R O S ========================================================= */ + +/* === T Y P E D E F S ===================================================== */ + +/* === C L A S S E S & S T R U C T S ======================================= */ + +namespace synfigapp { + +class CVSInfo +{ + synfig::String file_name_; + + bool in_sandbox_; + bool in_repository_; + bool update_available_; + + synfig::String cvs_version_; + time_t original_timestamp_; + + +public: + void calc_repository_info(); + + CVSInfo(const synfig::String& file_name); + CVSInfo(); + ~CVSInfo(); + + void set_file_name(const synfig::String& file_name); + +// READ OPERATIONS -------------------------------------------------- + + //! Returns TRUE if \a file_name is in a sandbox + bool in_sandbox()const; + + //! Returns TRUE if \a file_name is in the repository + bool in_repository()const; + + //! Returns TRUE if \a file_name has modifications not yet on the repository + bool is_modified()const; + + //! Returns TRUE if there is a new version of \a file_name on the repository + bool is_updated()const; + + //! Returns the CVS version string + const synfig::String& get_cvs_version()const; + + //! Returns the unix timestamp of the repository file + const time_t &get_original_timestamp()const; + + //! Returns the unix timestamp of the checked out file + time_t get_current_timestamp()const; + + //! Returns the Root + synfig::String get_cvs_root()const; + + //! Returns the name of the module + synfig::String get_cvs_module()const; + +// WRITE OPERATIONS ------------------------------------------------- + + void cvs_add(const synfig::String& message=synfig::String()); + + void cvs_update(); + + void cvs_commit(const synfig::String& message=synfig::String()); +}; // END of class CVSInfo + +}; // END of namespace synfigapp + +/* === E N D =============================================================== */ + +#endif