return TRUE;
}
+
+Bool
+xDbgModuleCommandInitEvlogRulePath (XDbgModule *pMod)
+{
+ if (pMod->evlog_rule_path && strlen (pMod->evlog_rule_path) > 0)
+ {
+ char reply[4096];
+ int len = sizeof (reply);
+ char *argv[4];
+ int argc = 4;
+
+ if (!pMod->evlog_path)
+ {
+ XDBG_XORG (MXDBG, "no evlog_path!!!\n");
+ return TRUE;
+ }
+
+ argv[0] = "unknown";
+ argv[1] = "evlog_rule";
+ argv[2] = "file";
+ argv[3] = pMod->evlog_rule_path;
+
+ _CommandSetEvlogRule (0, argc, argv, reply, &len, pMod);
+
+ xDbgModuleEvlogPrintEvents (pMod, TRUE, "", reply, &len);
+ }
+
+ return TRUE;
+}
void xDbgModuleCommand (void *data, int argc, char **argv, char *reply, int *len);
Bool xDbgModuleCommandInitLogPath (XDbgModule *pMod);
+Bool xDbgModuleCommandInitEvlogRulePath (XDbgModule *pMod);
#endif /* __XDBG_MODULE_COMMAND_H__ */
return FALSE;
}
+ if (!xDbgModuleCommandInitEvlogRulePath (pMod))
+ {
+ XDBG_ERROR (MXDBG, "failed: xDbgModuleCommandInitEvlogRulePath\n");
+ return FALSE;
+ }
+
snprintf (method.name, sizeof (method.name), "%s", XDBG_DBUS_METHOD);
method.func = xDbgModuleCommand;
method.data = pMod;
OPTION_DLOG,
OPTION_LOG_PATH,
OPTION_EVLOG_PATH,
+ OPTION_EVLOG_RULE_PATH,
} ModuleOption;
static const OptionInfoRec module_options[] =
{ OPTION_DLOG, "dlog", OPTV_BOOLEAN, {0}, FALSE },
{ OPTION_LOG_PATH, "log_path", OPTV_STRING, {0}, FALSE },
{ OPTION_EVLOG_PATH, "evlog_path", OPTV_STRING, {0}, FALSE },
+ { OPTION_EVLOG_RULE_PATH, "evlog_rule_path", OPTV_STRING, {0}, FALSE },
{ -1, NULL, OPTV_NONE, {0}, FALSE }
};
else
XDBG_SLOG (MXDBG, "evlog path: none\n");
+ /* evlog_rule_path */
+ log_path = xf86GetOptValString (options, OPTION_EVLOG_RULE_PATH);
+ if (log_path)
+ {
+ XDBG_SLOG (MXDBG, "evlog log path: \"%s\"\n", log_path);
+ pMod->evlog_rule_path = strdup (log_path);
+ }
+ else
+ XDBG_SLOG (MXDBG, "evlog log path: none\n");
+
free (options);
}