#include "audit_trail_stub.h"
-
static IAuditTrail* p_atrail = nullptr;
+static IAuditRuleStub* p_arule = nullptr;
void audit_trail_set_implementation(IAuditTrail* impl);
+void audit_rule_set_implementation(IAuditRuleStub* impl);
IAuditTrail::IAuditTrail()
{
p_atrail = impl;
}
+IAuditRuleStub::IAuditRuleStub()
+{
+ audit_rule_set_implementation(this);
+}
+
+IAuditRuleStub::~IAuditRuleStub()
+{
+ audit_rule_set_implementation(nullptr);
+}
+
+void audit_rule_set_implementation(IAuditRuleStub* impl)
+{
+ p_arule = impl;
+}
int audit_trail_create(audit_trail_h* handle)
{
IAuditTrail* p = reinterpret_cast<IAuditTrail*>(handle);
return p->audit_trail_remove_user_log_cb(id);
}
+int audit_rule_create(audit_rule_h* handle)
+{
+ int ret = p_arule->audit_rule_create(handle);
+ *handle = p_arule;
+ return ret;
+}
+int audit_rule_destroy(audit_rule_h handle)
+{
+ IAuditRuleStub* p = reinterpret_cast<IAuditRuleStub*>(handle);
+ return p->audit_rule_destroy();
+}
+int audit_rule_add_systemcall(audit_rule_h handle, unsigned int syscall)
+{
+ IAuditRuleStub* p = reinterpret_cast<IAuditRuleStub*>(handle);
+ return p->audit_rule_add_systemcall(syscall);
+}
+int audit_rule_remove_systemcall(audit_rule_h handle, unsigned int syscall)
+{
+ IAuditRuleStub* p = reinterpret_cast<IAuditRuleStub*>(handle);
+ return p->audit_rule_remove_systemcall(syscall);
+}
+int audit_rule_foreach_systemcall(audit_rule_h handle, audit_rule_systemcall_cb callback, void *user_data)
+{
+ IAuditRuleStub* p = reinterpret_cast<IAuditRuleStub*>(handle);
+ return p->audit_rule_foreach_systemcall(callback, user_data);
+}
+int audit_rule_add_condition(audit_rule_h handle, unsigned int field, unsigned int operation, const void *value)
+{
+ IAuditRuleStub* p = reinterpret_cast<IAuditRuleStub*>(handle);
+ return p->audit_rule_add_condition(field, operation, value);
+}
+int audit_rule_remove_condition(audit_rule_h handle, unsigned int field, unsigned int operation, const void *value)
+{
+ IAuditRuleStub* p = reinterpret_cast<IAuditRuleStub*>(handle);
+ return p->audit_rule_remove_condition(field, operation, value);
+}
+int audit_rule_foreach_condition(audit_rule_h handle, audit_rule_condition_cb callback, void *user_data)
+{
+ IAuditRuleStub* p = reinterpret_cast<IAuditRuleStub*>(handle);
+ return p->audit_rule_foreach_condition(callback, user_data);
+}
+int audit_trail_add_rule(audit_trail_h handle, audit_rule_h rule)
+{
+ IAuditTrail* p = reinterpret_cast<IAuditTrail*>(handle);
+ return p->audit_trail_add_rule(rule);
+}
+int audit_trail_remove_rule(audit_trail_h handle, audit_rule_h rule)
+{
+ IAuditTrail* p = reinterpret_cast<IAuditTrail*>(handle);
+ return p->audit_trail_remove_rule(rule);
+}
+int audit_trail_foreach_rule(audit_trail_h handle, audit_rule_cb callback, void *user_data)
+{
+ IAuditTrail* p = reinterpret_cast<IAuditTrail*>(handle);
+ return p->audit_trail_foreach_rule(callback, user_data);
+}