summaryrefslogtreecommitdiffstats
path: root/src/ctvariable.h
diff options
context:
space:
mode:
authorMavridis Philippe <mavridisf@gmail.com>2021-01-13 19:26:24 +0200
committerMavridis Philippe <mavridisf@gmail.com>2021-01-13 19:26:24 +0200
commit8c20dc919f7d54eb48fb60f39ba5e1d466a70763 (patch)
tree44d89f278d5dd066603e5ab9c0b270bc8eb4ad51 /src/ctvariable.h
downloadklamav-8c20dc919f7d54eb48fb60f39ba5e1d466a70763.tar.gz
klamav-8c20dc919f7d54eb48fb60f39ba5e1d466a70763.zip
Initial commit
Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
Diffstat (limited to 'src/ctvariable.h')
-rw-r--r--src/ctvariable.h82
1 files changed, 82 insertions, 0 deletions
diff --git a/src/ctvariable.h b/src/ctvariable.h
new file mode 100644
index 0000000..3f20600
--- /dev/null
+++ b/src/ctvariable.h
@@ -0,0 +1,82 @@
+/***************************************************************************
+ * CT Environment Variable Header *
+ * -------------------------------------------------------------------- *
+ * Copyright (C) 1999, Gary Meyer <gary@meyer.net> *
+ * -------------------------------------------------------------------- *
+ * This program 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 2 of the License, or *
+ * (at your option) any later version. *
+ ***************************************************************************/
+
+#ifndef CTVARIABLE_H
+#define CTVARIABLE_H
+
+// Do not introduce any Qt or KDE dependencies into the "CT"-prefixed classes.
+// I want to be able to reuse these classes with another GUI toolkit. -GM 11/99
+
+#include <string>
+#include <fstream>
+
+/**
+ * An environment variable (encapsulation of crontab environment variable
+ * entry). Encapsulates parsing and tokenization.
+ */
+class CTVariable
+{
+public:
+
+/**
+ * Constructs environment variable from crontab format string.
+ */
+ CTVariable(std::string tokStr = "", std::string _comment = "");
+
+/**
+ * Copy constructor.
+ */
+ CTVariable(const CTVariable& source);
+
+/**
+ * Assignment operator.
+ */
+ void operator = (const CTVariable& source);
+
+/**
+ * Default destructor.
+ */
+ // ~CTVariable();
+
+/**
+ * Tokenizes environment variable to crontab format.
+ */
+ friend std::ostream& operator << (std::ostream& outputStream, const CTVariable& task);
+
+/**
+ * Mark changes as applied.
+ */
+ void apply();
+
+/**
+ * Cancel changes.
+ */
+ void cancel();
+
+/**
+ * Indicates whether or not the environment variable has been modified.
+ */
+ bool dirty() const;
+
+ std::string variable;
+ std::string value;
+ std::string comment;
+ bool enabled;
+
+private:
+ std::string initialVariable;
+ std::string initialValue;
+ std::string initialComment;
+ bool initialEnabled;
+
+};
+
+#endif // CTVARIABLE_H