\hypertarget{structoval__variable}{
\section{oval\_\-variable Struct Reference}
\label{structoval__variable}\index{oval\_\-variable@{oval\_\-variable}}
}


An oval variable resolves an \hyperlink{structoval__value}{oval\_\-value} stream which specifies constraints for \hyperlink{structoval__object}{oval\_\-object}{\bfseries s} and \hyperlink{structoval__state}{oval\_\-state}{\bfseries s}.  


{\ttfamily \#include $<$oval\_\-definitions.h$>$}\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structoval__variable}{oval\_\-variable} $\ast$ \hyperlink{group__OVALDEF_gaf8e193bd514f8296466c3801bde2bb25}{oval\_\-variable\_\-new} (struct \hyperlink{structoval__definition__model}{oval\_\-definition\_\-model} $\ast$model, const char $\ast$id, \hyperlink{group__OVALDEF_ga508c483d127b48e6190a40b401962db6}{oval\_\-variable\_\-type\_\-t} type)
\begin{DoxyCompactList}\small\item\em Construct new instance of \hyperlink{structoval__variable}{oval\_\-variable}. \item\end{DoxyCompactList}\item 
struct \hyperlink{structoval__variable}{oval\_\-variable} $\ast$ \hyperlink{group__OVALDEF_ga340cb9621c5af8d3e9ab6468cc1948e0}{oval\_\-variable\_\-clone} (struct \hyperlink{structoval__definition__model}{oval\_\-definition\_\-model} $\ast$new\_\-model, struct \hyperlink{structoval__variable}{oval\_\-variable} $\ast$old\_\-variable)
\begin{DoxyCompactList}\small\item\em Clone instance of \hyperlink{structoval__variable}{oval\_\-variable} and add it to the specified \hyperlink{structoval__definition__model}{oval\_\-definition\_\-model}. \item\end{DoxyCompactList}\item 
\hypertarget{group__OVALDEF_ga03c2d5ac6ac55948d5e2862422a04e2b}{
void \hyperlink{group__OVALDEF_ga03c2d5ac6ac55948d5e2862422a04e2b}{oval\_\-variable\_\-free} (struct \hyperlink{structoval__variable}{oval\_\-variable} $\ast$)}
\label{group__OVALDEF_ga03c2d5ac6ac55948d5e2862422a04e2b}

\begin{DoxyCompactList}\small\item\em Free instance of \hyperlink{structoval__variable}{oval\_\-variable}. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{Indent}{\bf Setters}\par
{\em \label{_amgrp6e47466b75bb957a603aa54c079ac8bf}
 }\begin{DoxyCompactItemize}
\item 
void \hyperlink{group__OVALDEF_ga1936e1bd45e7fd22d11f7477bd5d8456}{oval\_\-variable\_\-set\_\-comment} (struct \hyperlink{structoval__variable}{oval\_\-variable} $\ast$, char $\ast$comment)
\begin{DoxyCompactList}\small\item\em set attribute \hyperlink{structoval__variable}{oval\_\-variable}-\/$>$comment. \item\end{DoxyCompactList}\item 
void \hyperlink{group__OVALDEF_ga9c02ae430af80d08c398953cada67318}{oval\_\-variable\_\-set\_\-version} (struct \hyperlink{structoval__variable}{oval\_\-variable} $\ast$, int version)
\begin{DoxyCompactList}\small\item\em set attribute \hyperlink{structoval__variable}{oval\_\-variable}-\/$>$version. \item\end{DoxyCompactList}\item 
void \hyperlink{group__OVALDEF_ga59596758acd538be98ebd9b8775ab794}{oval\_\-variable\_\-set\_\-deprecated} (struct \hyperlink{structoval__variable}{oval\_\-variable} $\ast$, bool deprecated)
\begin{DoxyCompactList}\small\item\em set attribute \hyperlink{structoval__variable}{oval\_\-variable}-\/$>$deprecated. \item\end{DoxyCompactList}\item 
void \hyperlink{group__OVALDEF_ga838bbd211257461e7f354bf5f88a8a64}{oval\_\-variable\_\-set\_\-datatype} (struct \hyperlink{structoval__variable}{oval\_\-variable} $\ast$, \hyperlink{group__OVALDEF_gaf069fe2fb2a9ae3abe47cab55b89827e}{oval\_\-datatype\_\-t})
\begin{DoxyCompactList}\small\item\em set attribute \hyperlink{structoval__variable}{oval\_\-variable}-\/$>$datatype. \item\end{DoxyCompactList}\item 
void \hyperlink{group__OVALDEF_ga4e2a5d7f39daee5edf747f568fa90e69}{oval\_\-variable\_\-add\_\-value} (struct \hyperlink{structoval__variable}{oval\_\-variable} $\ast$, struct \hyperlink{structoval__value}{oval\_\-value} $\ast$)
\begin{DoxyCompactList}\small\item\em Append an instance of Oval\_\-value to the attribute Oval\_\-constant-\/$>$values. \item\end{DoxyCompactList}\item 
void \hyperlink{group__OVALDEF_ga61cb4fd268434eb7f82400806be6e245}{oval\_\-variable\_\-set\_\-component} (struct \hyperlink{structoval__variable}{oval\_\-variable} $\ast$, struct \hyperlink{structoval__component}{oval\_\-component} $\ast$component)
\begin{DoxyCompactList}\small\item\em Bind an instance of Oval\_\-component to the attribute Oval\_\-local-\/$>$component. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}{\bf Getters}\par
{\em \label{_amgrpc9fd0bcb5385a65354c37f1bb504399d}
 }\begin{DoxyCompactItemize}
\item 
char $\ast$ \hyperlink{group__OVALDEF_ga5af5f0a8f14194c6c95e8fed74c3ff2f}{oval\_\-variable\_\-get\_\-id} (struct \hyperlink{structoval__variable}{oval\_\-variable} $\ast$)
\begin{DoxyCompactList}\small\item\em Returns attribute \hyperlink{structoval__variable}{oval\_\-variable}-\/$>$id. \item\end{DoxyCompactList}\item 
char $\ast$ \hyperlink{group__OVALDEF_gad31a4444a5d7198cec1e25006854d352}{oval\_\-variable\_\-get\_\-comment} (struct \hyperlink{structoval__variable}{oval\_\-variable} $\ast$)
\begin{DoxyCompactList}\small\item\em Returns attribute \hyperlink{structoval__variable}{oval\_\-variable}-\/$>$comment. \item\end{DoxyCompactList}\item 
\hypertarget{group__OVALDEF_ga5d08e8be95f5c17f67c00e3b7214bd23}{
int \hyperlink{group__OVALDEF_ga5d08e8be95f5c17f67c00e3b7214bd23}{oval\_\-variable\_\-get\_\-version} (struct \hyperlink{structoval__variable}{oval\_\-variable} $\ast$)}
\label{group__OVALDEF_ga5d08e8be95f5c17f67c00e3b7214bd23}

\begin{DoxyCompactList}\small\item\em Returns attribute \hyperlink{structoval__variable}{oval\_\-variable}-\/$>$version. \item\end{DoxyCompactList}\item 
\hypertarget{group__OVALDEF_ga593a9f421ff46ada989895bf11c80788}{
bool \hyperlink{group__OVALDEF_ga593a9f421ff46ada989895bf11c80788}{oval\_\-variable\_\-get\_\-deprecated} (struct \hyperlink{structoval__variable}{oval\_\-variable} $\ast$)}
\label{group__OVALDEF_ga593a9f421ff46ada989895bf11c80788}

\begin{DoxyCompactList}\small\item\em Returns attribute \hyperlink{structoval__variable}{oval\_\-variable}-\/$>$deprecated. \item\end{DoxyCompactList}\item 
\hypertarget{group__OVALDEF_ga98d512ea3c2a9f50a2d1fc5337df30b2}{
\hyperlink{group__OVALDEF_ga508c483d127b48e6190a40b401962db6}{oval\_\-variable\_\-type\_\-t} \hyperlink{group__OVALDEF_ga98d512ea3c2a9f50a2d1fc5337df30b2}{oval\_\-variable\_\-get\_\-type} (struct \hyperlink{structoval__variable}{oval\_\-variable} $\ast$)}
\label{group__OVALDEF_ga98d512ea3c2a9f50a2d1fc5337df30b2}

\begin{DoxyCompactList}\small\item\em Returns attribute \hyperlink{structoval__variable}{oval\_\-variable}-\/$>$type. \item\end{DoxyCompactList}\item 
\hypertarget{group__OVALDEF_ga3305986237d5bff16d84e9bfb92fea36}{
\hyperlink{group__OVALDEF_gaf069fe2fb2a9ae3abe47cab55b89827e}{oval\_\-datatype\_\-t} \hyperlink{group__OVALDEF_ga3305986237d5bff16d84e9bfb92fea36}{oval\_\-variable\_\-get\_\-datatype} (struct \hyperlink{structoval__variable}{oval\_\-variable} $\ast$)}
\label{group__OVALDEF_ga3305986237d5bff16d84e9bfb92fea36}

\begin{DoxyCompactList}\small\item\em Returns attribute \hyperlink{structoval__variable}{oval\_\-variable}-\/$>$datatype. \item\end{DoxyCompactList}\item 
struct \hyperlink{structoval__value__iterator}{oval\_\-value\_\-iterator} $\ast$ \hyperlink{group__OVALDEF_gafb78c4dc3624c31dc87d4dfc4d12367e}{oval\_\-variable\_\-get\_\-values} (struct \hyperlink{structoval__variable}{oval\_\-variable} $\ast$)
\begin{DoxyCompactList}\small\item\em Returns attribute Oval\_\-external/Oval\_\-constant-\/$>$values. \item\end{DoxyCompactList}\item 
struct \hyperlink{structoval__component}{oval\_\-component} $\ast$ \hyperlink{group__OVALDEF_gaa34166a9c0f382ee5c8343dd48d704f2}{oval\_\-variable\_\-get\_\-component} (struct \hyperlink{structoval__variable}{oval\_\-variable} $\ast$)
\begin{DoxyCompactList}\small\item\em Returns attribute Oval\_\-local-\/$>$component. \item\end{DoxyCompactList}\item 
\hypertarget{group__OVALDEF_gaf0b9945f7d300e8f1f108bc9a59a0baf}{
const char $\ast$ \hyperlink{group__OVALDEF_gaf0b9945f7d300e8f1f108bc9a59a0baf}{oval\_\-component\_\-type\_\-get\_\-text} (\hyperlink{group__OVALDEF_gab6ed49a929aed7027c01b143ced8ba2d}{oval\_\-component\_\-type\_\-t} type)}
\label{group__OVALDEF_gaf0b9945f7d300e8f1f108bc9a59a0baf}

\begin{DoxyCompactList}\small\item\em Returns attribute Oval\_\-component\_\-type-\/$>$text. \item\end{DoxyCompactList}\item 
bool \hyperlink{group__OVALDEF_gaa99c5967d8423ffab7d848bcdf1e850a}{oval\_\-variable\_\-is\_\-locked} (struct \hyperlink{structoval__variable}{oval\_\-variable} $\ast$variable)
\begin{DoxyCompactList}\small\item\em return {\bfseries true} if the variable instance is locked. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}{\bf Evaluators}\par
{\em \label{_amgrp1fdbbbb8aba6580be2c9cb4b12e86ca2}
 }\begin{DoxyCompactItemize}
\item 
bool \hyperlink{group__OVALDEF_gadeab307b8a0dbe9b211d71944dda11f1}{oval\_\-variable\_\-is\_\-valid} (struct \hyperlink{structoval__variable}{oval\_\-variable} $\ast$)
\begin{DoxyCompactList}\small\item\em Returns {\bfseries true} if \hyperlink{structoval__variable}{oval\_\-variable} is valid. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
\hypertarget{structoval__variable_a5647d40c68aacd5553c55e40f2ae3c7e}{
struct \hyperlink{structoval__definition__model}{oval\_\-definition\_\-model} $\ast$ {\bfseries model}}
\label{structoval__variable_a5647d40c68aacd5553c55e40f2ae3c7e}

\item 
\hypertarget{structoval__variable_ab17e927a445ac3796fe9daba09760693}{
char $\ast$ {\bfseries id}}
\label{structoval__variable_ab17e927a445ac3796fe9daba09760693}

\item 
\hypertarget{structoval__variable_aed3966f163fc5c24d0ddc0dc88e35c07}{
char $\ast$ {\bfseries comment}}
\label{structoval__variable_aed3966f163fc5c24d0ddc0dc88e35c07}

\item 
\hypertarget{structoval__variable_a63bd4ef459339744a07b8dd8e6da517c}{
int {\bfseries version}}
\label{structoval__variable_a63bd4ef459339744a07b8dd8e6da517c}

\item 
\hypertarget{structoval__variable_ac0aea2f7eb151cb060be83f1657ef0b9}{
int {\bfseries deprecated}}
\label{structoval__variable_ac0aea2f7eb151cb060be83f1657ef0b9}

\item 
\hypertarget{structoval__variable_a96e42cbd4165d6c2dcdf20d60053c029}{
\hyperlink{group__OVALDEF_ga508c483d127b48e6190a40b401962db6}{oval\_\-variable\_\-type\_\-t} {\bfseries type}}
\label{structoval__variable_a96e42cbd4165d6c2dcdf20d60053c029}

\item 
\hypertarget{structoval__variable_a27e806d29d596ba9ed6fa819579670fc}{
\hyperlink{group__OVALDEF_gaf069fe2fb2a9ae3abe47cab55b89827e}{oval\_\-datatype\_\-t} {\bfseries datatype}}
\label{structoval__variable_a27e806d29d596ba9ed6fa819579670fc}

\item 
\hypertarget{structoval__variable_ad1244a7a9b39a224d1376c00a59af554}{
\hyperlink{group__OVALSYS_ga6ca9feb1c89087dbae7c7d3074a378c9}{oval\_\-syschar\_\-collection\_\-flag\_\-t} {\bfseries flag}}
\label{structoval__variable_ad1244a7a9b39a224d1376c00a59af554}

\item 
\hypertarget{structoval__variable_a07f0a4f57ecdcfa0c3ee7311a89860da}{
struct \hyperlink{structoval__collection}{oval\_\-collection} $\ast$ {\bfseries values}}
\label{structoval__variable_a07f0a4f57ecdcfa0c3ee7311a89860da}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
An oval variable resolves an \hyperlink{structoval__value}{oval\_\-value} stream which specifies constraints for \hyperlink{structoval__object}{oval\_\-object}{\bfseries s} and \hyperlink{structoval__state}{oval\_\-state}{\bfseries s}. 
\begin{DoxyItemize}
\item if oval\_\-variable\_\-type == OVAL\_\-VARIABLE\_\-EXTERNAL
\begin{DoxyItemize}
\item The value stream is determined by oval\_\-definition\_\-model\_\-bind\_\-variable\_\-model
\end{DoxyItemize}
\item if oval\_\-variable\_\-type == OVAL\_\-VARIABLE\_\-CONSTANT
\begin{DoxyItemize}
\item The value stream is determined by a set of specified constants (see \hyperlink{group__OVALDEF_ga4e2a5d7f39daee5edf747f568fa90e69}{oval\_\-variable\_\-add\_\-value})
\end{DoxyItemize}
\item if oval\_\-variable\_\-type == OVAL\_\-VARIABLE\_\-LOCAL
\begin{DoxyItemize}
\item The value stream is specified by either a single component or a complex function, meaning that a value can be as simple as a literal string or as complex as multiple registry keys concatenated together. Note that if an individual component is used and it returns multiple values, then there will be multiple values associated with the Oval\_\-local. For example, if an object is specified as the local source and it references a file object that identifies a set of 5 files, then the local variable would represent these 5 values. 
\end{DoxyItemize}
\end{DoxyItemize}

The documentation for this struct was generated from the following files:\begin{DoxyCompactItemize}
\item 
/home/pvrabec/project/openscap/openscap-\/0.5.12/src/OVAL/\hyperlink{oval__variable_8c}{oval\_\-variable.c}\item 
/home/pvrabec/project/openscap/openscap-\/0.5.12/src/OVAL/public/\hyperlink{oval__definitions_8h}{oval\_\-definitions.h}\end{DoxyCompactItemize}
