Properly deal with classes destructors

There are some classes such as AuditLog that demands a reference count. That is
needed because this class can be used by different instances of the Rules
classes.
This commit is contained in:
Felipe Zimmerle
2015-07-13 12:28:25 -03:00
parent 0c98bdc80b
commit 001d5ebf7f
13 changed files with 100 additions and 18 deletions

View File

@@ -121,7 +121,7 @@ class Rule;
class ModSecurity {
public:
ModSecurity();
~ModSecurity() { }
~ModSecurity();
static std::string whoAmI();
void setConnectorInformation(std::string connector);
@@ -220,6 +220,8 @@ ModSecurity *msc_init();
const char *msc_who_am_i(ModSecurity *msc);
/** @ingroup ModSecurity_C_API */
void msc_set_connector_info(ModSecurity *msc, const char *connector);
/** @ingroup ModSecurity_C_API */
void msc_cleanup(ModSecurity *msc);
#ifdef __cplusplus
}

View File

@@ -53,7 +53,7 @@ class Rules {
: m_referenceCount(0),
m_custom_debug_log(custom_log) { }
~Rules() { }
~Rules();
void incrementReferenceCount(void);
void decrementReferenceCount(void);
@@ -142,6 +142,7 @@ int msc_rules_merge(Rules *rules_dst, Rules *rules_from);
int msc_rules_add_remote(Rules *rules, char *key, char *uri);
int msc_rules_add_file(Rules *rules, char *file);
int msc_rules_add(Rules *rules, const char *plain_rules);
int msc_rules_cleanup(Rules *rules);
#ifdef __cplusplus
}