Aegis  4.25.D505
/home/archives/aegis/branch.4/branch.25/delta28933.505/libaegis/change/file.h
Go to the documentation of this file.
00001 //
00002 // aegis - project change supervisor
00003 // Copyright (C) 1991-1997, 1999, 2000, 2002-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 (at
00009 // 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 GNU
00014 // 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 <http://www.gnu.org/licenses/>.
00018 //
00019 
00020 #ifndef CHANGE_FILE_H
00021 #define CHANGE_FILE_H
00022 
00023 #include <common/gcc-attribute.h>
00024 #include <libaegis/change.h>
00025 #include <libaegis/view_path.h>
00026 
00027 class string_list_ty; // forward
00028 class nstring; // forward
00029 
00031 string_ty *change_file_path(change::pointer cp, string_ty *file_name)
00032     DEPRECATED;
00033 
00035 string_ty *change_file_path_by_uuid(change::pointer cp, string_ty *uuid)
00036     DEPRECATED;
00037 
00039 string_ty *change_file_path(change::pointer cp, fstate_src_ty *src)
00040     DEPRECATED;
00041 
00042 string_ty *change_file_version_path(change::pointer cp, fstate_src_ty *src,
00043     int *unlink_p);
00044 string_ty *change_file_source(change::pointer , string_ty *);
00045 void change_file_remove(change::pointer , string_ty *);
00046 
00047 void change_file_remove_all(change::pointer );
00048 fstate_src_ty *change_file_nth(change::pointer , size_t, view_path_ty);
00049 size_t change_file_count(change::pointer );
00050 void change_file_directory_query(change::pointer cp, string_ty *file_name,
00051     string_list_ty *result_in, string_list_ty *result_out);
00052 string_ty *change_file_directory_conflict(change::pointer cp,
00053     string_ty *file_name);
00054 
00055 void change_file_test_time_clear(change::pointer cp, fstate_src_ty *src,
00056     string_ty *);
00057 void change_file_test_time_set(change::pointer , fstate_src_ty *, time_t,
00058     string_ty *);
00059 time_t change_file_test_time_get(change::pointer cp, fstate_src_ty *src,
00060     string_ty *);
00061 void change_file_test_baseline_time_clear(change::pointer , fstate_src_ty *,
00062     string_ty *);
00063 void change_file_test_baseline_time_set(change::pointer cp, fstate_src_ty *src,
00064     time_t, string_ty *);
00065 time_t change_file_test_baseline_time_get(change::pointer , fstate_src_ty *,
00066     string_ty *);
00067 
00068 int change_fingerprint_same(fingerprint_ty *, string_ty *, int);
00069 void change_file_fingerprint_check(change::pointer , fstate_src_ty *);
00070 int change_file_up_to_date(project *, fstate_src_ty *);
00071 metric_list_ty *change_file_metrics_get(change::pointer , string_ty *);
00072 void change_file_list_metrics_check(change::pointer );
00073 void change_file_template(change::pointer , string_ty *, user_ty::pointer, int);
00074 
00085 void change_file_copy_basic_attributes(fstate_src_ty *to, fstate_src_ty *from);
00086 
00087 // vim: set ts=8 sw=4 et :
00088 #endif // CHANGE_FILE_H