Aegis  4.25.D505
/home/archives/aegis/branch.4/branch.25/delta28933.505/libaegis/project/history.h
Go to the documentation of this file.
00001 //
00002 //      aegis - project change supervisor
00003 //      Copyright (C) 1995-1998, 2001-2003, 2005-2008, 2011, 2012 Peter Miller
00004 //      Copyright (C) 2008 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 AEGIS_PROJECT_HISTORY_H
00022 #define AEGIS_PROJECT_HISTORY_H
00023 
00024 #include <libaegis/project.h>
00025 
00026 struct string_list_ty; // existence
00027 
00028 bool project_history_delta_validate(project *, long);
00029 time_t project_history_delta_to_timestamp(project *, long);
00030 long project_history_timestamp_to_delta(project *, time_t);
00031 long project_history_delta_latest(project *);
00032 long project_history_delta_by_name(project *, string_ty *, int);
00033 long project_history_change_by_name(project *, string_ty *, int);
00034 long project_history_change_by_timestamp(project *, time_t);
00035 long project_history_change_by_delta(project *, long);
00036 void project_history_delta_name_delete(project *, string_ty *);
00037 void project_history_delta_name_add(project *, long, string_ty *);
00038 long project_current_integration_get(project *);
00039 void project_current_integration_set(project *, long);
00040 long project_next_delta_number(project *);
00041 long project_change_number_to_delta_number(project *, long);
00042 long project_delta_number_to_change_number(project *, long);
00043 void project_copyright_years_merge(project *, change::pointer );
00044 void project_copyright_years_get(project *pp, int *ary, int ary_len_max,
00045         int *ary_len);
00046 void project_copyright_year_append(project *, int);
00047 void project_history_new(project *pp, long dn, long cn, string_ty *, time_t,
00048     bool);
00049 int project_history_nth(project *pp, long n, long *cn, long *dn,
00050         struct string_list_ty *name);
00051 long project_last_change_integrated(project *);
00052 
00053 bool project_administrator_query(project *pp, string_ty *name) DEPRECATED;
00054 bool project_administrator_query(project *pp, const nstring &name);
00055 
00056 void project_administrator_add(project *pp, string_ty *name) DEPRECATED;
00057 void project_administrator_add(project *pp, const nstring &name);
00058 
00059 void project_administrator_remove(project *pp, string_ty *name) DEPRECATED;
00060 void project_administrator_remove(project *pp, const nstring &name);
00061 
00062 string_ty *project_administrator_nth(project *, long);
00063 
00064 bool project_developer_query(project *pp, string_ty *name) DEPRECATED;
00065 bool project_developer_query(project *pp, const nstring &name);
00066 
00067 void project_developer_add(project *pp, string_ty *name) DEPRECATED;
00068 void project_developer_add(project *pp, const nstring &name);
00069 
00070 void project_developer_remove(project *pp, string_ty *name) DEPRECATED;
00071 void project_developer_remove(project *pp, const nstring &name);
00072 
00073 string_ty *project_developer_nth(project *, long);
00074 
00075 bool project_reviewer_query(project *pp, string_ty *name) DEPRECATED;
00076 bool project_reviewer_query(project *pp, const nstring &name);
00077 
00078 void project_reviewer_add(project *pp, string_ty *name) DEPRECATED;
00079 void project_reviewer_add(project *pp, const nstring &name);
00080 
00081 void project_reviewer_remove(project *pp, string_ty *name) DEPRECATED;
00082 void project_reviewer_remove(project *pp, const nstring &name);
00083 
00084 string_ty *project_reviewer_nth(project *, long);
00085 
00086 bool project_integrator_query(project *, string_ty *) DEPRECATED;
00087 bool project_integrator_query(project *pp, const nstring &name);
00088 
00089 void project_integrator_add(project *pp, string_ty *name) DEPRECATED;
00090 void project_integrator_add(project *pp, const nstring &name);
00091 
00092 void project_integrator_remove(project *pp, string_ty *name) DEPRECATED;
00093 void project_integrator_remove(project *pp, const nstring &name);
00094 
00095 string_ty *project_integrator_nth(project *, long);
00096 
00097 void project_change_add(project *, long, int);
00098 void project_change_remove(project *, long);
00099 int project_change_nth(project *, long, long *);
00100 long project_next_change_number(project *pp, int skip);
00101 
00102 void project_description_set(project *, string_ty *);
00103 nstring project_description_get(project *);
00104 void project_version_previous_set(project *, string_ty *);
00105 string_ty *project_version_previous_get(project *);
00106 
00107 void project_umask_set(project *, int);
00108 int project_umask_get(project *);
00109 void project_developer_may_review_set(project *, bool);
00110 bool project_developer_may_review_get(project *);
00111 void project_developer_may_integrate_set(project *, bool);
00112 bool project_developer_may_integrate_get(project *);
00113 void project_reviewer_may_integrate_set(project *, bool);
00114 bool project_reviewer_may_integrate_get(project *);
00115 void project_developers_may_create_changes_set(project *, bool);
00116 bool project_developers_may_create_changes_get(project *);
00117 void project_forced_develop_begin_notify_command_set(project *,
00118         string_ty *);
00119 string_ty *project_forced_develop_begin_notify_command_get(project *);
00120 void project_develop_end_notify_command_set(project *, string_ty *);
00121 string_ty *project_develop_end_notify_command_get(project *);
00122 void project_develop_end_undo_notify_command_set(project *, string_ty *);
00123 string_ty *project_develop_end_undo_notify_command_get(project *);
00124 void project_review_begin_notify_command_set(project *, string_ty *);
00125 string_ty *project_review_begin_notify_command_get(project *);
00126 void project_review_begin_undo_notify_command_set(project *,
00127         string_ty *);
00128 string_ty *project_review_begin_undo_notify_command_get(project *);
00129 void project_review_pass_notify_command_set(project *, string_ty *);
00130 string_ty *project_review_pass_notify_command_get(project *);
00131 void project_review_pass_undo_notify_command_set(project *, string_ty *);
00132 string_ty *project_review_pass_undo_notify_command_get(project *);
00133 void project_review_fail_notify_command_set(project *, string_ty *);
00134 string_ty *project_review_fail_notify_command_get(project *);
00135 void project_integrate_pass_notify_command_set(project *, string_ty *);
00136 string_ty *project_integrate_pass_notify_command_get(project *);
00137 void project_integrate_fail_notify_command_set(project *, string_ty *);
00138 string_ty *project_integrate_fail_notify_command_get(project *);
00139 void project_default_development_directory_set(project *, string_ty *);
00140 string_ty *project_default_development_directory_get(project *);
00141 
00151 void project_default_test_exemption_set(project *pp, bool yesno);
00152 
00162 bool project_default_test_exemption_get(project *pp);
00163 
00173 void project_default_test_regression_exemption_set(project *pp, bool yesno);
00174 
00185 bool project_default_test_regression_exemption_get(project *pp);
00186 
00187 #endif // AEGIS_PROJECT_HISTORY_H
00188 // vim: set ts=8 sw=4 et :