// // aegis - project change supervisor // Copyright (C) 2005, 2006, 2008, 2012, 2014 Peter Miller // // 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 3 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, see // . // #ifndef LIBAEGIS_INPUT_SVT_CHECKOUT_H #define LIBAEGIS_INPUT_SVT_CHECKOUT_H #include /** * The input_svt_checkout class is used to represent and input which is * a version extracted from a Simple Version Tool archive. */ class input_svt_checkout: public input { public: /** * The destructor. */ virtual ~input_svt_checkout(); /** * The create class method is used to create new dynamically * allocated instances of this class. * * @param filename * The name of the history file being manipulated * @param version * The version to checkout. */ static pointer create(const nstring &filename, const nstring &version); protected: // See base class for socumentation. nstring name(void); // See base class for socumentation. ssize_t read_inner(void *data, size_t nbytes); // See base class for socumentation. off_t length(void); // See base class for socumentation. off_t ftell_inner(void); private: /** * The constructor. * It is private on pupose, use the #create vlass method instead. * * @param filename * The name of the history file being manipulated * @param version * The version to checkout. */ input_svt_checkout(const nstring &filename, const nstring &version); input::pointer src1_p; input::pointer src2_p; input::pointer src3_p; input::pointer src4_p; off_t pos; /** * The default constructor. Do not use. */ input_svt_checkout(); /** * The copy constructor. Do not use. */ input_svt_checkout(const input_svt_checkout &); /** * The assignment operator. Do not use. */ input_svt_checkout &operator=(const input_svt_checkout &); }; #endif // LIBAEGIS_INPUT_SVT_CHECKOUT_H // vim: set ts=8 sw=4 et :