Aegis  4.25.D505
/home/archives/aegis/branch.4/branch.25/delta28933.505/aedist/change/functor/inventory.h
Go to the documentation of this file.
00001 //
00002 //      aegis - project change supervisor
00003 //      Copyright (C) 2004-2008, 2011, 2012 Peter Miller
00004 //      Copyright (C) 2007 Walter Franzini
00005 //
00006 //      This program is free software; you can redistribute it and/or modify
00007 //      it under the terms of the GNU General Public License as published by
00008 //      the Free Software Foundation; either version 3 of the License, or
00009 //      (at your option) any later version.
00010 //
00011 //      This program is distributed in the hope that it will be useful,
00012 //      but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 //      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014 //      GNU General Public License for more details.
00015 //
00016 //      You should have received a copy of the GNU General Public License
00017 //      along with this program. If not, see
00018 //      <http://www.gnu.org/licenses/>.
00019 //
00020 
00021 #ifndef AEGET_CHANGE_FUNCTOR_INVENTORY_H
00022 #define AEGET_CHANGE_FUNCTOR_INVENTORY_H
00023 
00024 #include <common/nstring/list.h>
00025 #include <libaegis/change/functor.h>
00026 
00027 struct project; // forward
00028 
00033 class change_functor_inventory:
00034     public change_functor
00035 {
00036 public:
00040     virtual ~change_functor_inventory();
00041 
00068     change_functor_inventory(bool incbr, project *pp,
00069         bool include_original_uuid, bool uuid_links, const nstring &prefix,
00070         const char *suffix, const nstring_list &include_change,
00071         const nstring_list &exclude_change);
00072 
00073     // See base class for documentation.
00074     void operator()(change::pointer cp);
00075 
00076 private:
00084     void print_one_line(change::pointer , const nstring &);
00085 
00089     project *pp;
00090 
00091     nstring_list exclude_change;
00092 
00093     nstring_list include_change;
00094 
00100     bool include_original_uuid;
00101 
00102     bool generate_uuid_based_links;
00103 
00104     nstring prefix;
00105 
00106     nstring suffix;
00107 
00112     int num;
00113 
00117     change_functor_inventory();
00118 
00122     change_functor_inventory(const change_functor_inventory &);
00123 
00127     change_functor_inventory &operator=(const change_functor_inventory &);
00128 };
00129 
00130 #endif // AEGET_CHANGE_FUNCTOR_INVENTORY_H
00131 // vim: set ts=8 sw=4 et :