Aegis  4.25.D505
/home/archives/aegis/branch.4/branch.25/delta28933.505/libaegis/attribute.h
Go to the documentation of this file.
00001 //
00002 //      aegis - project change supervisor
00003 //      Copyright (C) 2004-2008, 2012 Peter Miller
00004 //      Copyright (C) 2006, 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 LIBAEGIS_ATTRIBUTE_H
00022 #define LIBAEGIS_ATTRIBUTE_H
00023 
00024 #include <libaegis/common.fmtgen.h>
00025 
00026 #define AEIPASS_ASSIGN_FILE_UUID        "aeipass-option:assign-file-uuid"
00027 
00028 #define HISTORY_GET_COMMAND             "aegis:history_get_command"
00029 
00039 attributes_ty *attributes_list_find(attributes_list_ty *alp, const char *name);
00040 
00056 bool attributes_list_find_boolean(attributes_list_ty *alp, const char *name,
00057     bool default_value = false);
00058 
00073 double attributes_list_find_real(attributes_list_ty *alp, const char *name,
00074     double default_value = 0);
00075 
00090 long attributes_list_find_integer(attributes_list_ty *alp, const char *name,
00091     long default_value = 0);
00092 
00105 attributes_ty *attributes_list_extract(attributes_list_ty *alp,
00106     const char *name);
00107 
00117 void attributes_list_remove(attributes_list_ty *alp, const char *name);
00118 
00132 void attributes_list_insert(attributes_list_ty *alp, const char *name,
00133     const char *value);
00134 
00149 void attributes_list_append(attributes_list_ty *alp, const char *name,
00150     const char *value);
00151 
00167 void attributes_list_append_unique(attributes_list_ty *alp, const char *name,
00168     string_ty *value);
00169 
00185 void attributes_list_append_unique(attributes_list_ty *alp, const char *name,
00186     const char *value);
00187 
00188 #endif // LIBAEGIS_ATTRIBUTE_H
00189 // vim: set ts=8 sw=4 et :