Commit 700cd943 authored by Christoffer Ackelman's avatar Christoffer Ackelman

Fixed Doxygen issue with license.

parent 08ab3530
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* Proview Open Source Process Control. * Proview Open Source Process Control.
* Copyright (C) 2005-2017 SSAB EMEA AB. * Copyright (C) 2005-2017 SSAB EMEA AB.
* *
......
/** /*
* Proview Open Source Process Control. * Proview Open Source Process Control.
* Copyright (C) 2005-2017 SSAB EMEA AB. * Copyright (C) 2005-2017 SSAB EMEA AB.
* *
......
/** /*
* Proview Open Source Process Control. * Proview Open Source Process Control.
* Copyright (C) 2005-2017 SSAB EMEA AB. * Copyright (C) 2005-2017 SSAB EMEA AB.
* *
......
/** /*
* Proview Open Source Process Control. * Proview Open Source Process Control.
* Copyright (C) 2005-2017 SSAB EMEA AB. * Copyright (C) 2005-2017 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
...@@ -186,7 +186,7 @@ ALIASES = ...@@ -186,7 +186,7 @@ ALIASES =
# For instance, some of the names that are used will be different. The list # For instance, some of the names that are used will be different. The list
# of all members will be omitted, etc. # of all members will be omitted, etc.
OPTIMIZE_OUTPUT_FOR_C = NO OPTIMIZE_OUTPUT_FOR_C = YES
# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
# sources only. Doxygen will then generate output that is more tailored for # sources only. Doxygen will then generate output that is more tailored for
...@@ -282,17 +282,17 @@ TYPEDEF_HIDES_STRUCT = NO ...@@ -282,17 +282,17 @@ TYPEDEF_HIDES_STRUCT = NO
# Private class members and static file members will be hidden unless # Private class members and static file members will be hidden unless
# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
EXTRACT_ALL = NO EXTRACT_ALL = YES
# If the EXTRACT_PRIVATE tag is set to YES all private members of a class # If the EXTRACT_PRIVATE tag is set to YES all private members of a class
# will be included in the documentation. # will be included in the documentation.
EXTRACT_PRIVATE = NO EXTRACT_PRIVATE = YES
# If the EXTRACT_STATIC tag is set to YES all static members of a file # If the EXTRACT_STATIC tag is set to YES all static members of a file
# will be included in the documentation. # will be included in the documentation.
EXTRACT_STATIC = NO EXTRACT_STATIC = YES
# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
# defined locally in source files will be included in the documentation. # defined locally in source files will be included in the documentation.
...@@ -560,30 +560,11 @@ WARN_LOGFILE = ...@@ -560,30 +560,11 @@ WARN_LOGFILE =
# with spaces. # with spaces.
INPUT = $(pwre_sroot)/doc/prm/src/doxygen.dx \ INPUT = $(pwre_sroot)/doc/prm/src/doxygen.dx \
$(pwre_sroot)/exp/inc/src/pwr.h \ $(pwre_sroot)/exp/inc/src \
$(pwre_sroot)/lib/co/src/co_time.h \ $(pwre_sroot)/lib/co/src \
$(pwre_sroot)/lib/co/src/co_cdh.h \ $(pwre_sroot)/lib/rt/src \
$(pwre_sroot)/lib/rt/src/rt_gdh.h \ $(pwre_croot)/nmps/lib/nmps/src \
$(pwre_sroot)/lib/rt/src/rt_errh.h \ $(pwre_sroot)/doc/prm/src \
$(pwre_sroot)/lib/rt/src/rt_mh_appl.h \
$(pwre_sroot)/lib/rt/src/rt_qcom.h \
$(pwre_sroot)/lib/rt/src/rt_sevcli.h \
$(pwre_croot)/nmps/lib/nmps/src/nmps_appl.h \
$(pwre_sroot)/lib/rt/src/rt_aproc.h \
$(pwre_sroot)/lib/rt/src/rt_aproc.c \
$(pwre_sroot)/lib/rt/src/rt_net.c \
$(pwre_sroot)/lib/rt/src/rt_appl.h \
$(pwre_sroot)/lib/rt/src/rt_appl.cpp \
$(pwre_sroot)/lib/co/src/co_time.c \
$(pwre_sroot)/lib/co/src/co_cdh.c \
$(pwre_sroot)/lib/rt/src/rt_gdh.c \
$(pwre_sroot)/lib/rt/src/rt_errh.c \
$(pwre_sroot)/lib/rt/src/rt_mh_appl.c \
$(pwre_sroot)/lib/rt/src/rt_qcom.c \
$(pwre_sroot)/lib/rt/src/rt_sevcli.c \
$(pwre_croot)/nmps/lib/nmps/src/nmps_appl.c \
$(pwre_sroot)/doc/prm/src/ra_appl.cpp \
$(pwre_sroot)/doc/prm/src/ra_advappl.cpp \
$(pwr_inc)/rt_gdh_msg.h \ $(pwr_inc)/rt_gdh_msg.h \
$(pwr_inc)/rt_hash_msg.h $(pwr_inc)/rt_hash_msg.h
...@@ -603,6 +584,7 @@ INPUT_ENCODING = UTF-8 ...@@ -603,6 +584,7 @@ INPUT_ENCODING = UTF-8
# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
FILE_PATTERNS = *.cpp \ FILE_PATTERNS = *.cpp \
*.cqt \
*.c \ *.c \
*.h *.h
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
...@@ -32,75 +32,89 @@ ...@@ -32,75 +32,89 @@
* the source code of ProviewR (the version used to produce the * the source code of ProviewR (the version used to produce the
* combined work), being distributed under the terms of the GNU * combined work), being distributed under the terms of the GNU
* General Public License plus this exception. * General Public License plus this exception.
**/ */
#ifndef co_math_h #ifndef co_math_h
#define co_math_h #define co_math_h
#include <float.h> #include <float.h>
/** /*! \file co_math.h
@file co_math.h \brief General useful math functions.
General useful math functions.
*/ */
#ifndef MAX #ifndef MAX
//! Return the largest of two values /*! \def MAX(Dragon, Eagle)
\brief Return the maximum of \a Dragon and \a Eagle
*/
#define MAX(Dragon, Eagle) ((Dragon) > (Eagle) ? (Dragon) : (Eagle)) #define MAX(Dragon, Eagle) ((Dragon) > (Eagle) ? (Dragon) : (Eagle))
#endif #endif
#ifndef MIN #ifndef MIN
//! Return the smallest of two values /*! \def MIN(Dragon, Eagle)
\brief Return the minimum of \a Dragon and \a Eagle
*/
#define MIN(Dragon, Eagle) ((Dragon) < (Eagle) ? (Dragon) : (Eagle)) #define MIN(Dragon, Eagle) ((Dragon) < (Eagle) ? (Dragon) : (Eagle))
#endif #endif
#ifndef ABS #ifndef ABS
//! Return the absolute value, i.e. removes the sign and returns the /*! \def ABS(Dragon)
//! non-negative value \brief Return the absolute value of \a Dragon,
i.e. removes the sign such that ABS(-1) = 1.
*/
#define ABS(Dragon) ((Dragon) >= 0 ? (Dragon) : (-(Dragon))) #define ABS(Dragon) ((Dragon) >= 0 ? (Dragon) : (-(Dragon)))
#endif #endif
#ifndef CLAMP /*! \def CLAMP(x, min, max)
\brief Restricts \a x to be between \a min and \a max
*/
#define CLAMP(x, min, max) ((x) < (min)) ? (min) : (((x) > (max)) ? (max) : (x)) #define CLAMP(x, min, max) ((x) < (min)) ? (min) : (((x) > (max)) ? (max) : (x))
#endif
#ifndef SIGN /*! \def SIGN(x)
#define SIGN(a) ((a) >= 0 ? 1 : -1) \brief Returns the sign of \a x,
#endif i.e. 1 if \a x is positive or -1 if \a x is negative
*/
#define SIGN(x) ((x) >= 0 ? 1 : -1)
#ifndef ROUND /*! \def ROUND(x)
\brief Rounds \a x to the nearest integer,
where 0.5 is rounded upwards to 1.
*/
#define ROUND(x) ((x) >= 0 ? (int)((x) + 0.5) : (int)((x)-0.5)) #define ROUND(x) ((x) >= 0 ? (int)((x) + 0.5) : (int)((x)-0.5))
#endif
#ifndef typecheck /*! \def typecheck(type,x)
//! Typechecking macro from the Linux kernel \brief Typechecking macro from the Linux kernel
//! Generates a compile-time warning if x is not of type 'type'
//! Usage: typecheck(int, 0.5f) -> warning Generates a compile-time warning if x is not of type 'type'
//! typecheck(int, 10) -> no warning Usage: typecheck(int, 0.5f) -> warning
typecheck(int, 10) -> no warning
*/
#define typecheck(type,x) \ #define typecheck(type,x) \
({ type __dummy; \ ({ type __dummy; \
typeof(x) __dummy2; \ typeof(x) __dummy2; \
(void)(&__dummy == &__dummy2); \ (void)(&__dummy == &__dummy2); \
1; \ 1; \
}) })
#endif
#ifndef feq /*! \def feq(a, b)
//! Checks whether two floating point numbers are equal \brief Checks whether two doubles \a a and \a b are equal
Use this instead of a == b
*/
#define feq(a, b) \ #define feq(a, b) \
({ typecheck(double, a); \ ({ typecheck(double, a); \
typecheck(double, b); \ typecheck(double, b); \
(ABS((a) - (b)) < DBL_EPSILON); \ (ABS((a) - (b)) < DBL_EPSILON); \
}) })
#endif
#ifndef feqf /*! \def feqf(a, b)
//! Checks whether two floating point numbers are equal \brief Checks whether two floats \a a and \a b are equal
Use this instead of a == b
*/
#define feqf(a, b) \ #define feqf(a, b) \
({ typecheck(float, a); \ ({ typecheck(float, a); \
typecheck(float, b); \ typecheck(float, b); \
(ABS((a) - (b)) < FLT_EPSILON); \ (ABS((a) - (b)) < FLT_EPSILON); \
}) })
#endif
#endif #endif
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
...@@ -32,20 +32,26 @@ ...@@ -32,20 +32,26 @@
* the source code of ProviewR (the version used to produce the * the source code of ProviewR (the version used to produce the
* combined work), being distributed under the terms of the GNU * combined work), being distributed under the terms of the GNU
* General Public License plus this exception. * General Public License plus this exception.
**/ */
#ifndef co_string_h #ifndef co_string_h
#define co_string_h #define co_string_h
#include <string.h> #include <string.h>
/*! /*! \file co_string.h
Checks if two strings a and b are equal \brief General useful string manipulation functions.
strcmp returns 0 (i.e. false) if the strings are equal, which is not that obvious */
/*! \def streq(a,b)
\brief Checks if two strings \a a and \a b are equal
strcmp returns 0 (i.e. false) if the strings are equal, which is not obvious
streq(a,b) is more readable and easier to understand than strcmp(a,b) == 0
*/ */
#define streq(a,b) (strcmp((a),(b)) == 0) #define streq(a,b) (strcmp((a),(b)) == 0)
/*! /*! \def str_StartsWith(str,prefix)
Checks if the string 'str' starts with the substring 'prefix' \brief Checks if the \a str starts with the substring \a prefix
*/ */
#define str_StartsWith(str, prefix) (strncmp(str, prefix, strlen(prefix)) == 0) #define str_StartsWith(str, prefix) (strncmp(str, prefix, strlen(prefix)) == 0)
...@@ -53,8 +59,10 @@ ...@@ -53,8 +59,10 @@
extern "C" { extern "C" {
#endif #endif
//! Convert string to lower case. /*! \fn char* str_ToLower(char* dst, const char* src)
/*! \brief Converts the string \a src to lower case,
puts the result in \a dst and returns \a dst
Handles all ISO 8859-1 characters, not only ASCII. Handles all ISO 8859-1 characters, not only ASCII.
If src is NULL, dst is used also as input string. If src is NULL, dst is used also as input string.
...@@ -64,8 +72,10 @@ extern "C" { ...@@ -64,8 +72,10 @@ extern "C" {
*/ */
char* str_ToLower(char* dst, const char* src); char* str_ToLower(char* dst, const char* src);
//! Convert string to upper case. /*! \fn char* str_ToUpper(char* dst, const char* src)
/*! \brief Converts the string \a src to upper case,
puts the result in \a dst and returns \a dst
Handles all ISO 8859-1 characters, not only ASCII. Handles all ISO 8859-1 characters, not only ASCII.
If src is NULL, dst is used also as input string. If src is NULL, dst is used also as input string.
...@@ -75,8 +85,9 @@ char* str_ToLower(char* dst, const char* src); ...@@ -75,8 +85,9 @@ char* str_ToLower(char* dst, const char* src);
*/ */
char* str_ToUpper(char* dst, const char* src); char* str_ToUpper(char* dst, const char* src);
//! Compare two strings not regarding their casing. /*! \fn int str_NoCaseStrcmp(const char* s, const char* t)
/*! \brief Compares two strings \a s and \a t, disregarding their case.
This routine works only on alphabetic characters. This routine works only on alphabetic characters.
It works on the standard ascii a-z and on the It works on the standard ascii a-z and on the
DEC multinational extensions. DEC multinational extensions.
...@@ -84,14 +95,14 @@ char* str_ToUpper(char* dst, const char* src); ...@@ -84,14 +95,14 @@ char* str_ToUpper(char* dst, const char* src);
The function exploits the fact that only bit 5 changes The function exploits the fact that only bit 5 changes
when you change the case of a character. when you change the case of a character.
The function returns the uppercase offset between \return The uppercase offset between the two first differing characters.
the two first differing characters.
*/ */
int str_NoCaseStrcmp(const char* s, const char* t); int str_NoCaseStrcmp(const char* s, const char* t);
//! Compare the n (at most) first charachters of two strings not regarding their /*! \fn int str_NoCaseStrncmp(const char* s, const char* t, size_t n)
//! casing. \brief Compares the first n (at most) characters of two strings
/*! \a s and \a t, disregarding their case.
This routine works only on alphabetic characters. This routine works only on alphabetic characters.
It works on the standard ascii a-z and on the It works on the standard ascii a-z and on the
DEC multinational extensions. DEC multinational extensions.
...@@ -99,31 +110,37 @@ int str_NoCaseStrcmp(const char* s, const char* t); ...@@ -99,31 +110,37 @@ int str_NoCaseStrcmp(const char* s, const char* t);
The function exploits the fact that only bit 5 changes The function exploits the fact that only bit 5 changes
when you change the case of a character. when you change the case of a character.
The function returns the uppercase offset between \return The uppercase offset between the two first differing characters.
the two first differing characters.
*/ */
int str_NoCaseStrncmp(const char* s, const char* t, size_t n); int str_NoCaseStrncmp(const char* s, const char* t, size_t n);
//! Copy string char by char to allow overlapping source and target buffers /*! \fn char* str_Strcpy(char* dst, const char* src)
char* str_Strcpy(char* dest, const char* src); \brief Copies \a src into \a dst character by character to allow
overlapping source and destination buffers.
*/
char* str_Strcpy(char* dst, const char* src);
//! Copy string char by char to allow overlapping source and target buffers /*! \fn char* str_Strncpy(char* dst, const char* src, size_t n)
char* str_Strncpy(char* dest, const char* src, size_t n); \brief Copies the first n (at most) characters of \a src into \a dst
character by character to allow overlapping source and destination buffers.
*/
char* str_Strncpy(char* dst, const char* src, size_t n);
//! Copy string, and cut of if the string is to long with ending '...' /*! \fn int str_StrncpyCutOff(char* dst, const char* src, size_t n, int cutleft)
/*! \brief Copies the first n (at most) characters of \a src into \a dst
For example the string '0123456789' will return the string '0123...' when character by character to allow overlapping source and destination buffers.
the size of the returned string is 8. Cuts of the string if it is to long, and replaces the ending with '...'
If the string is cut off, the return value is 1, else 0. For example str_StrncpyCutOff(dst, '0123456789', 8) will return '0123...',
which is 8 characters including the terminating NULL character.
\param t Out string. \param src Input string.
\param s In string. \param dst Output string.
\param n Size of out string. \param n Size of out string.
\param cutleft The first characters of the string is cut. \param cutleft Whether to cut the first characters of the string instead of the last.
\return 1 if the string is cut off, else 0. \return 1 if the string was cut off, else 0.
*/ */
int str_StrncpyCutOff(char* t, const char* s, size_t n, int cutleft); int str_StrncpyCutOff(char* dst, const char* src, size_t n, int cutleft);
#ifdef __cplusplus #ifdef __cplusplus
} }
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* Proview Open Source Process Control. * Proview Open Source Process Control.
* Copyright (C) 2005-2017 SSAB EMEA AB. * Copyright (C) 2005-2017 SSAB EMEA AB.
* *
......
/** /*
* Proview Open Source Process Control. * Proview Open Source Process Control.
* Copyright (C) 2005-2017 SSAB EMEA AB. * Copyright (C) 2005-2017 SSAB EMEA AB.
* *
......
/** /*
* Proview Open Source Process Control. * Proview Open Source Process Control.
* Copyright (C) 2005-2017 SSAB EMEA AB. * Copyright (C) 2005-2017 SSAB EMEA AB.
* *
......
/** /*
* Proview Open Source Process Control. * Proview Open Source Process Control.
* Copyright (C) 2005-2017 SSAB EMEA AB. * Copyright (C) 2005-2017 SSAB EMEA AB.
* *
......
/** /*
* Proview Open Source Process Control. * Proview Open Source Process Control.
* Copyright (C) 2005-2017 SSAB EMEA AB. * Copyright (C) 2005-2017 SSAB EMEA AB.
* *
......
/** /*
* Proview Open Source Process Control. * Proview Open Source Process Control.
* Copyright (C) 2005-2017 SSAB EMEA AB. * Copyright (C) 2005-2017 SSAB EMEA AB.
* *
......
/** /*
* Proview Open Source Process Control. * Proview Open Source Process Control.
* Copyright (C) 2005-2017 SSAB EMEA AB. * Copyright (C) 2005-2017 SSAB EMEA AB.
* *
......
/** /*
* Proview Open Source Process Control. * Proview Open Source Process Control.
* Copyright (C) 2005-2017 SSAB EMEA AB. * Copyright (C) 2005-2017 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* Proview Open Source Process Control. * Proview Open Source Process Control.
* Copyright (C) 2005-2017 SSAB EMEA AB. * Copyright (C) 2005-2017 SSAB EMEA AB.
* *
......
/** /*
* Proview Open Source Process Control. * Proview Open Source Process Control.
* Copyright (C) 2005-2017 SSAB EMEA AB. * Copyright (C) 2005-2017 SSAB EMEA AB.
* *
......
/** /*
* Proview Open Source Process Control. * Proview Open Source Process Control.
* Copyright (C) 2005-2017 SSAB EMEA AB. * Copyright (C) 2005-2017 SSAB EMEA AB.
* *
......
/** /*
* Proview Open Source Process Control. * Proview Open Source Process Control.
* Copyright (C) 2005-2017 SSAB EMEA AB. * Copyright (C) 2005-2017 SSAB EMEA AB.
* *
......
/** /*
* Proview Open Source Process Control. * Proview Open Source Process Control.
* Copyright (C) 2005-2017 SSAB EMEA AB. * Copyright (C) 2005-2017 SSAB EMEA AB.
* *
......
/** /*
* Proview Open Source Process Control. * Proview Open Source Process Control.
* Copyright (C) 2005-2017 SSAB EMEA AB. * Copyright (C) 2005-2017 SSAB EMEA AB.
* *
......
/** /*
* Proview Open Source Process Control. * Proview Open Source Process Control.
* Copyright (C) 2005-2017 SSAB EMEA AB. * Copyright (C) 2005-2017 SSAB EMEA AB.
* *
......
/** /*
* Proview Open Source Process Control. * Proview Open Source Process Control.
* Copyright (C) 2005-2017 SSAB EMEA AB. * Copyright (C) 2005-2017 SSAB EMEA AB.
* *
......
/** /*
* Proview Open Source Process Control. * Proview Open Source Process Control.
* Copyright (C) 2005-2017 SSAB EMEA AB. * Copyright (C) 2005-2017 SSAB EMEA AB.
* *
......
/** /*
* Proview Open Source Process Control. * Proview Open Source Process Control.
* Copyright (C) 2005-2017 SSAB EMEA AB. * Copyright (C) 2005-2017 SSAB EMEA AB.
* *
......
/** /*
* Proview Open Source Process Control. * Proview Open Source Process Control.
* Copyright (C) 2005-2017 SSAB EMEA AB. * Copyright (C) 2005-2017 SSAB EMEA AB.
* *
......
/** /*
* Proview Open Source Process Control. * Proview Open Source Process Control.
* Copyright (C) 2005-2017 SSAB EMEA AB. * Copyright (C) 2005-2017 SSAB EMEA AB.
* *
......
/** /*
* Proview Open Source Process Control. * Proview Open Source Process Control.
* Copyright (C) 2005-2017 SSAB EMEA AB. * Copyright (C) 2005-2017 SSAB EMEA AB.
* *
......
/** /*
* Proview Open Source Process Control. * Proview Open Source Process Control.
* Copyright (C) 2005-2017 SSAB EMEA AB. * Copyright (C) 2005-2017 SSAB EMEA AB.
* *
......
/** /*
* Proview Open Source Process Control. * Proview Open Source Process Control.
* Copyright (C) 2005-2017 SSAB EMEA AB. * Copyright (C) 2005-2017 SSAB EMEA AB.
* *
......
/** /*
* Proview Open Source Process Control. * Proview Open Source Process Control.
* Copyright (C) 2005-2017 SSAB EMEA AB. * Copyright (C) 2005-2017 SSAB EMEA AB.
* *
......
/** /*
* Proview Open Source Process Control. * Proview Open Source Process Control.
* Copyright (C) 2005-2017 SSAB EMEA AB. * Copyright (C) 2005-2017 SSAB EMEA AB.
* *
......
/** /*
* Proview Open Source Process Control. * Proview Open Source Process Control.
* Copyright (C) 2005-2017 SSAB EMEA AB. * Copyright (C) 2005-2017 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
/** /*
* ProviewR Open Source Process Control. * ProviewR Open Source Process Control.
* Copyright (C) 2005-2018 SSAB EMEA AB. * Copyright (C) 2005-2018 SSAB EMEA AB.
* *
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment