summaryrefslogtreecommitdiff
path: root/src/map/refine.p.h
diff options
context:
space:
mode:
authorIbrahim Zidan <brahem@aotsw.com>2019-04-13 21:11:09 +0200
committerIbrahim Zidan <brahem@aotsw.com>2019-05-05 23:27:59 +0200
commitbd1c1bb39b3d69fba175bda94af4e9d1149fbbb5 (patch)
tree5e8e804a3f8e3ef8d0f580bc2763b23b84682edb /src/map/refine.p.h
parent31f47be4b26e69d2880e12530d021ce6c8c802ea (diff)
downloadhercules-bd1c1bb39b3d69fba175bda94af4e9d1149fbbb5.tar.gz
hercules-bd1c1bb39b3d69fba175bda94af4e9d1149fbbb5.tar.bz2
hercules-bd1c1bb39b3d69fba175bda94af4e9d1149fbbb5.tar.xz
hercules-bd1c1bb39b3d69fba175bda94af4e9d1149fbbb5.zip
Removal of refine database code from status.c and moving it respectfully to its own files
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
Diffstat (limited to 'src/map/refine.p.h')
-rw-r--r--src/map/refine.p.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/src/map/refine.p.h b/src/map/refine.p.h
new file mode 100644
index 000000000..4d6f403bb
--- /dev/null
+++ b/src/map/refine.p.h
@@ -0,0 +1,58 @@
+/**
+* This file is part of Hercules.
+* http://herc.ws - http://github.com/HerculesWS/Hercules
+*
+* Copyright (C) 2019 Hercules Dev Team
+*
+* Hercules 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 <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MAP_REFINE_P_H
+#define MAP_REFINE_P_H
+
+/** @file
+ * Private header for the refine interface.
+ **/
+
+#include "refine.h"
+#include "common/conf.h"
+
+/**
+ * Refine Private Interface
+ **/
+struct refine_interface_private {
+ /**
+ * Processes a refine_db.conf entry.
+ *
+ * @param r Libconfig setting entry. It is expected to be valid and it
+ * won't be freed (it is care of the caller to do so if
+ * necessary)
+ * @param n Ordinal number of the entry, to be displayed in case of
+ * validation errors.
+ * @param source Source of the entry (file name), to be displayed in case of
+ * validation errors.
+ * @return # of the validated entry, or 0 in case of failure.
+ **/
+ int (*readdb_refine_libconfig_sub) (struct config_setting_t *r, const char *name, const char *source);
+
+ /**
+ * Reads from a libconfig-formatted refine_db.conf file.
+ *
+ * @param *filename File name, relative to the database path.
+ * @return The number of found entries.
+ **/
+ int (*readdb_refine_libconfig) (const char *filename);
+};
+
+#endif