doxygen docu support
replaced std::cout with Logger class
This commit is contained in:
		@@ -4,14 +4,14 @@ project(iprefresher DESCRIPTION "Dynu ip refresher")
 | 
			
		||||
set(CMAKE_CXX_STANDARD 17)
 | 
			
		||||
 | 
			
		||||
set(CMAKE_BUILD_TYPE Release) # manually set build type (Release / Debug)
 | 
			
		||||
set(libmethod STATIC) #SHARED / STATIC
 | 
			
		||||
set(LIB_METHOD STATIC) #SHARED / STATIC
 | 
			
		||||
set(WinBuild false)
 | 
			
		||||
set(PROJECT_VERSION 1.2.1)
 | 
			
		||||
option(BUILD_DOC "Build documentation" ON)
 | 
			
		||||
 | 
			
		||||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
 | 
			
		||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
 | 
			
		||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
 | 
			
		||||
 | 
			
		||||
#set up toolchain
 | 
			
		||||
 | 
			
		||||
if (${WinBuild})
 | 
			
		||||
@@ -66,7 +66,7 @@ FILE(WRITE ${CMAKE_SOURCE_DIR}/inc/Version.h
 | 
			
		||||
        "\#pragma once\nclass Version {\npublic:\n  static const std::string VERSION;\n};\n\n std::string const Version::VERSION = \"${PROJECT_VERSION}\";"
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
add_library(api ${libmethod}
 | 
			
		||||
add_library(api ${LIB_METHOD}
 | 
			
		||||
        src/api/API.cpp
 | 
			
		||||
 | 
			
		||||
        src/api/TelegramAPI.cpp
 | 
			
		||||
@@ -76,7 +76,7 @@ add_library(api ${libmethod}
 | 
			
		||||
        src/api/IPAPI.cpp
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
add_library(logger ${libmethod}
 | 
			
		||||
add_library(logger ${LIB_METHOD}
 | 
			
		||||
        src/FileLogger.cpp
 | 
			
		||||
        src/Logger.cpp
 | 
			
		||||
        )
 | 
			
		||||
@@ -146,4 +146,30 @@ IF (UNIX)
 | 
			
		||||
            DEPENDS ${PROJECT_NAME}
 | 
			
		||||
            COMMENT "Installing ${PROJECT_NAME}")
 | 
			
		||||
 | 
			
		||||
ENDIF (UNIX)
 | 
			
		||||
ENDIF (UNIX)
 | 
			
		||||
 | 
			
		||||
# check if Doxygen is installed
 | 
			
		||||
find_package(Doxygen)
 | 
			
		||||
if (DOXYGEN_FOUND)
 | 
			
		||||
    if (BUILD_DOC)
 | 
			
		||||
        # set input and output files
 | 
			
		||||
        set(DOXYGEN_IN ${CMAKE_CURRENT_SOURCE_DIR}/docs/Doxyfile.in)
 | 
			
		||||
        set(DOXYGEN_OUT ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
 | 
			
		||||
 | 
			
		||||
        # request to configure the file
 | 
			
		||||
        configure_file(${DOXYGEN_IN} ${DOXYGEN_OUT} @ONLY)
 | 
			
		||||
        message(STATUS "Doxygen build started")
 | 
			
		||||
 | 
			
		||||
        # note the option ALL which allows to build the docs together with the application
 | 
			
		||||
        add_custom_target(doc_doxygen ALL
 | 
			
		||||
                COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_OUT}
 | 
			
		||||
                WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
 | 
			
		||||
                COMMENT "Generating API documentation with Doxygen"
 | 
			
		||||
                VERBATIM)
 | 
			
		||||
    else (BUILD_DOC)
 | 
			
		||||
        message(STATUS "do not build docu")
 | 
			
		||||
    endif (BUILD_DOC)
 | 
			
		||||
 | 
			
		||||
else (DOXYGEN_FOUND)
 | 
			
		||||
    message(STATUS "Doxygen need to be installed to generate the doxygen documentation")
 | 
			
		||||
endif (DOXYGEN_FOUND)
 | 
			
		||||
							
								
								
									
										383
									
								
								docs/Doxyfile.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										383
									
								
								docs/Doxyfile.in
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,383 @@
 | 
			
		||||
#OUTPUT_DIRECTORY       = @CMAKE_CURRENT_BINARY_DIR@/doc_doxygen/
 | 
			
		||||
#INPUT                  = @CMAKE_CURRENT_SOURCE_DIR@/inc/ @CMAKE_CURRENT_SOURCE_DIR@/../docs
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Doxyfile 1.8.15
 | 
			
		||||
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# Project related configuration options
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
DOXYFILE_ENCODING      = UTF-8
 | 
			
		||||
PROJECT_NAME           = "My Project"
 | 
			
		||||
PROJECT_NUMBER         =
 | 
			
		||||
PROJECT_BRIEF          =
 | 
			
		||||
PROJECT_LOGO           =
 | 
			
		||||
OUTPUT_DIRECTORY       = @CMAKE_CURRENT_BINARY_DIR@/doc_doxygen/
 | 
			
		||||
CREATE_SUBDIRS         = NO
 | 
			
		||||
ALLOW_UNICODE_NAMES    = NO
 | 
			
		||||
OUTPUT_LANGUAGE        = English
 | 
			
		||||
OUTPUT_TEXT_DIRECTION  = None
 | 
			
		||||
BRIEF_MEMBER_DESC      = YES
 | 
			
		||||
REPEAT_BRIEF           = YES
 | 
			
		||||
ABBREVIATE_BRIEF       = "The $name class" \
 | 
			
		||||
                         "The $name widget" \
 | 
			
		||||
                         "The $name file" \
 | 
			
		||||
                         is \
 | 
			
		||||
                         provides \
 | 
			
		||||
                         specifies \
 | 
			
		||||
                         contains \
 | 
			
		||||
                         represents \
 | 
			
		||||
                         a \
 | 
			
		||||
                         an \
 | 
			
		||||
                         the
 | 
			
		||||
ALWAYS_DETAILED_SEC    = NO
 | 
			
		||||
INLINE_INHERITED_MEMB  = NO
 | 
			
		||||
FULL_PATH_NAMES        = YES
 | 
			
		||||
STRIP_FROM_PATH        =
 | 
			
		||||
STRIP_FROM_INC_PATH    =
 | 
			
		||||
SHORT_NAMES            = NO
 | 
			
		||||
JAVADOC_AUTOBRIEF      = NO
 | 
			
		||||
QT_AUTOBRIEF           = NO
 | 
			
		||||
MULTILINE_CPP_IS_BRIEF = NO
 | 
			
		||||
INHERIT_DOCS           = YES
 | 
			
		||||
SEPARATE_MEMBER_PAGES  = NO
 | 
			
		||||
TAB_SIZE               = 4
 | 
			
		||||
ALIASES                =
 | 
			
		||||
TCL_SUBST              =
 | 
			
		||||
OPTIMIZE_OUTPUT_FOR_C  = NO
 | 
			
		||||
OPTIMIZE_OUTPUT_JAVA   = NO
 | 
			
		||||
OPTIMIZE_FOR_FORTRAN   = NO
 | 
			
		||||
OPTIMIZE_OUTPUT_VHDL   = NO
 | 
			
		||||
OPTIMIZE_OUTPUT_SLICE  = NO
 | 
			
		||||
EXTENSION_MAPPING      =
 | 
			
		||||
MARKDOWN_SUPPORT       = YES
 | 
			
		||||
TOC_INCLUDE_HEADINGS   = 0
 | 
			
		||||
AUTOLINK_SUPPORT       = YES
 | 
			
		||||
BUILTIN_STL_SUPPORT    = NO
 | 
			
		||||
CPP_CLI_SUPPORT        = NO
 | 
			
		||||
SIP_SUPPORT            = NO
 | 
			
		||||
IDL_PROPERTY_SUPPORT   = YES
 | 
			
		||||
DISTRIBUTE_GROUP_DOC   = NO
 | 
			
		||||
GROUP_NESTED_COMPOUNDS = NO
 | 
			
		||||
SUBGROUPING            = YES
 | 
			
		||||
INLINE_GROUPED_CLASSES = NO
 | 
			
		||||
INLINE_SIMPLE_STRUCTS  = NO
 | 
			
		||||
TYPEDEF_HIDES_STRUCT   = NO
 | 
			
		||||
LOOKUP_CACHE_SIZE      = 0
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# Build related configuration options
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
EXTRACT_ALL            = YES
 | 
			
		||||
EXTRACT_PRIVATE        = NO
 | 
			
		||||
EXTRACT_PACKAGE        = NO
 | 
			
		||||
EXTRACT_STATIC         = NO
 | 
			
		||||
EXTRACT_LOCAL_CLASSES  = YES
 | 
			
		||||
EXTRACT_LOCAL_METHODS  = NO
 | 
			
		||||
EXTRACT_ANON_NSPACES   = NO
 | 
			
		||||
HIDE_UNDOC_MEMBERS     = NO
 | 
			
		||||
HIDE_UNDOC_CLASSES     = NO
 | 
			
		||||
HIDE_FRIEND_COMPOUNDS  = NO
 | 
			
		||||
HIDE_IN_BODY_DOCS      = NO
 | 
			
		||||
INTERNAL_DOCS          = NO
 | 
			
		||||
CASE_SENSE_NAMES       = NO
 | 
			
		||||
HIDE_SCOPE_NAMES       = NO
 | 
			
		||||
HIDE_COMPOUND_REFERENCE= NO
 | 
			
		||||
SHOW_INCLUDE_FILES     = YES
 | 
			
		||||
SHOW_GROUPED_MEMB_INC  = NO
 | 
			
		||||
FORCE_LOCAL_INCLUDES   = NO
 | 
			
		||||
INLINE_INFO            = YES
 | 
			
		||||
SORT_MEMBER_DOCS       = YES
 | 
			
		||||
SORT_BRIEF_DOCS        = NO
 | 
			
		||||
SORT_MEMBERS_CTORS_1ST = NO
 | 
			
		||||
SORT_GROUP_NAMES       = NO
 | 
			
		||||
SORT_BY_SCOPE_NAME     = NO
 | 
			
		||||
STRICT_PROTO_MATCHING  = NO
 | 
			
		||||
GENERATE_TODOLIST      = YES
 | 
			
		||||
GENERATE_TESTLIST      = YES
 | 
			
		||||
GENERATE_BUGLIST       = YES
 | 
			
		||||
GENERATE_DEPRECATEDLIST= YES
 | 
			
		||||
ENABLED_SECTIONS       =
 | 
			
		||||
MAX_INITIALIZER_LINES  = 30
 | 
			
		||||
SHOW_USED_FILES        = YES
 | 
			
		||||
SHOW_FILES             = YES
 | 
			
		||||
SHOW_NAMESPACES        = YES
 | 
			
		||||
FILE_VERSION_FILTER    =
 | 
			
		||||
LAYOUT_FILE            =
 | 
			
		||||
CITE_BIB_FILES         =
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# Configuration options related to warning and progress messages
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
QUIET                  = NO
 | 
			
		||||
WARNINGS               = YES
 | 
			
		||||
WARN_IF_UNDOCUMENTED   = YES
 | 
			
		||||
WARN_IF_DOC_ERROR      = YES
 | 
			
		||||
WARN_NO_PARAMDOC       = NO
 | 
			
		||||
WARN_AS_ERROR          = NO
 | 
			
		||||
WARN_FORMAT            = "$file:$line: $text"
 | 
			
		||||
WARN_LOGFILE           =
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# Configuration options related to the input files
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
INPUT                  = @CMAKE_CURRENT_SOURCE_DIR@/inc/
 | 
			
		||||
INPUT_ENCODING         = UTF-8
 | 
			
		||||
FILE_PATTERNS          = *.c \
 | 
			
		||||
                         *.cc \
 | 
			
		||||
                         *.cxx \
 | 
			
		||||
                         *.cpp \
 | 
			
		||||
                         *.c++ \
 | 
			
		||||
                         *.java \
 | 
			
		||||
                         *.ii \
 | 
			
		||||
                         *.ixx \
 | 
			
		||||
                         *.ipp \
 | 
			
		||||
                         *.i++ \
 | 
			
		||||
                         *.inl \
 | 
			
		||||
                         *.idl \
 | 
			
		||||
                         *.ddl \
 | 
			
		||||
                         *.odl \
 | 
			
		||||
                         *.h \
 | 
			
		||||
                         *.hh \
 | 
			
		||||
                         *.hxx \
 | 
			
		||||
                         *.hpp \
 | 
			
		||||
                         *.h++ \
 | 
			
		||||
                         *.cs \
 | 
			
		||||
                         *.d \
 | 
			
		||||
                         *.php \
 | 
			
		||||
                         *.php4 \
 | 
			
		||||
                         *.php5 \
 | 
			
		||||
                         *.phtml \
 | 
			
		||||
                         *.inc \
 | 
			
		||||
                         *.m \
 | 
			
		||||
                         *.markdown \
 | 
			
		||||
                         *.md \
 | 
			
		||||
                         *.mm \
 | 
			
		||||
                         *.dox \
 | 
			
		||||
                         *.py \
 | 
			
		||||
                         *.pyw \
 | 
			
		||||
                         *.f90 \
 | 
			
		||||
                         *.f95 \
 | 
			
		||||
                         *.f03 \
 | 
			
		||||
                         *.f08 \
 | 
			
		||||
                         *.f \
 | 
			
		||||
                         *.for \
 | 
			
		||||
                         *.tcl \
 | 
			
		||||
                         *.vhd \
 | 
			
		||||
                         *.vhdl \
 | 
			
		||||
                         *.ucf \
 | 
			
		||||
                         *.qsf \
 | 
			
		||||
                         *.ice
 | 
			
		||||
RECURSIVE              = YES
 | 
			
		||||
EXCLUDE                =
 | 
			
		||||
EXCLUDE_SYMLINKS       = NO
 | 
			
		||||
EXCLUDE_PATTERNS       =
 | 
			
		||||
EXCLUDE_SYMBOLS        =
 | 
			
		||||
EXAMPLE_PATH           =
 | 
			
		||||
EXAMPLE_PATTERNS       = *
 | 
			
		||||
EXAMPLE_RECURSIVE      = NO
 | 
			
		||||
IMAGE_PATH             =
 | 
			
		||||
INPUT_FILTER           =
 | 
			
		||||
FILTER_PATTERNS        =
 | 
			
		||||
FILTER_SOURCE_FILES    = NO
 | 
			
		||||
FILTER_SOURCE_PATTERNS =
 | 
			
		||||
USE_MDFILE_AS_MAINPAGE =
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# Configuration options related to source browsing
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
SOURCE_BROWSER         = YES
 | 
			
		||||
INLINE_SOURCES         = NO
 | 
			
		||||
STRIP_CODE_COMMENTS    = YES
 | 
			
		||||
REFERENCED_BY_RELATION = NO
 | 
			
		||||
REFERENCES_RELATION    = NO
 | 
			
		||||
REFERENCES_LINK_SOURCE = YES
 | 
			
		||||
SOURCE_TOOLTIPS        = YES
 | 
			
		||||
USE_HTAGS              = NO
 | 
			
		||||
VERBATIM_HEADERS       = YES
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# Configuration options related to the alphabetical class index
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
ALPHABETICAL_INDEX     = YES
 | 
			
		||||
COLS_IN_ALPHA_INDEX    = 5
 | 
			
		||||
IGNORE_PREFIX          =
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# Configuration options related to the HTML output
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
GENERATE_HTML          = YES
 | 
			
		||||
HTML_OUTPUT            = html
 | 
			
		||||
HTML_FILE_EXTENSION    = .html
 | 
			
		||||
HTML_HEADER            =
 | 
			
		||||
HTML_FOOTER            =
 | 
			
		||||
HTML_STYLESHEET        =
 | 
			
		||||
HTML_EXTRA_STYLESHEET  =
 | 
			
		||||
HTML_EXTRA_FILES       =
 | 
			
		||||
HTML_COLORSTYLE_HUE    = 126
 | 
			
		||||
HTML_COLORSTYLE_SAT    = 0
 | 
			
		||||
HTML_COLORSTYLE_GAMMA  = 240
 | 
			
		||||
HTML_TIMESTAMP         = NO
 | 
			
		||||
HTML_DYNAMIC_MENUS     = YES
 | 
			
		||||
HTML_DYNAMIC_SECTIONS  = NO
 | 
			
		||||
HTML_INDEX_NUM_ENTRIES = 100
 | 
			
		||||
GENERATE_DOCSET        = NO
 | 
			
		||||
DOCSET_FEEDNAME        = "Doxygen generated docs"
 | 
			
		||||
DOCSET_BUNDLE_ID       = org.doxygen.Project
 | 
			
		||||
DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
 | 
			
		||||
DOCSET_PUBLISHER_NAME  = Publisher
 | 
			
		||||
GENERATE_HTMLHELP      = NO
 | 
			
		||||
CHM_FILE               =
 | 
			
		||||
HHC_LOCATION           =
 | 
			
		||||
GENERATE_CHI           = NO
 | 
			
		||||
CHM_INDEX_ENCODING     =
 | 
			
		||||
BINARY_TOC             = NO
 | 
			
		||||
TOC_EXPAND             = NO
 | 
			
		||||
GENERATE_QHP           = NO
 | 
			
		||||
QCH_FILE               =
 | 
			
		||||
QHP_NAMESPACE          = org.doxygen.Project
 | 
			
		||||
QHP_VIRTUAL_FOLDER     = doc
 | 
			
		||||
QHP_CUST_FILTER_NAME   =
 | 
			
		||||
QHP_CUST_FILTER_ATTRS  =
 | 
			
		||||
QHP_SECT_FILTER_ATTRS  =
 | 
			
		||||
QHG_LOCATION           =
 | 
			
		||||
GENERATE_ECLIPSEHELP   = NO
 | 
			
		||||
ECLIPSE_DOC_ID         = org.doxygen.Project
 | 
			
		||||
DISABLE_INDEX          = NO
 | 
			
		||||
GENERATE_TREEVIEW      = YES
 | 
			
		||||
ENUM_VALUES_PER_LINE   = 4
 | 
			
		||||
TREEVIEW_WIDTH         = 250
 | 
			
		||||
EXT_LINKS_IN_WINDOW    = NO
 | 
			
		||||
FORMULA_FONTSIZE       = 10
 | 
			
		||||
FORMULA_TRANSPARENT    = YES
 | 
			
		||||
USE_MATHJAX            = NO
 | 
			
		||||
MATHJAX_FORMAT         = HTML-CSS
 | 
			
		||||
MATHJAX_RELPATH        = https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/
 | 
			
		||||
MATHJAX_EXTENSIONS     =
 | 
			
		||||
MATHJAX_CODEFILE       =
 | 
			
		||||
SEARCHENGINE           = YES
 | 
			
		||||
SERVER_BASED_SEARCH    = NO
 | 
			
		||||
EXTERNAL_SEARCH        = NO
 | 
			
		||||
SEARCHENGINE_URL       =
 | 
			
		||||
SEARCHDATA_FILE        = searchdata.xml
 | 
			
		||||
EXTERNAL_SEARCH_ID     =
 | 
			
		||||
EXTRA_SEARCH_MAPPINGS  =
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# Configuration options related to the LaTeX output
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
GENERATE_LATEX         = YES
 | 
			
		||||
LATEX_OUTPUT           = latex
 | 
			
		||||
LATEX_CMD_NAME         =
 | 
			
		||||
MAKEINDEX_CMD_NAME     = makeindex
 | 
			
		||||
LATEX_MAKEINDEX_CMD    = \makeindex
 | 
			
		||||
COMPACT_LATEX          = NO
 | 
			
		||||
PAPER_TYPE             = a4
 | 
			
		||||
EXTRA_PACKAGES         =
 | 
			
		||||
LATEX_HEADER           =
 | 
			
		||||
LATEX_FOOTER           =
 | 
			
		||||
LATEX_EXTRA_STYLESHEET =
 | 
			
		||||
LATEX_EXTRA_FILES      =
 | 
			
		||||
PDF_HYPERLINKS         = YES
 | 
			
		||||
USE_PDFLATEX           = YES
 | 
			
		||||
LATEX_BATCHMODE        = NO
 | 
			
		||||
LATEX_HIDE_INDICES     = NO
 | 
			
		||||
LATEX_SOURCE_CODE      = NO
 | 
			
		||||
LATEX_BIB_STYLE        = plain
 | 
			
		||||
LATEX_TIMESTAMP        = NO
 | 
			
		||||
LATEX_EMOJI_DIRECTORY  =
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# Configuration options related to the RTF output
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
GENERATE_RTF           = NO
 | 
			
		||||
RTF_OUTPUT             = rtf
 | 
			
		||||
COMPACT_RTF            = NO
 | 
			
		||||
RTF_HYPERLINKS         = NO
 | 
			
		||||
RTF_STYLESHEET_FILE    =
 | 
			
		||||
RTF_EXTENSIONS_FILE    =
 | 
			
		||||
RTF_SOURCE_CODE        = NO
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# Configuration options related to the man page output
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
GENERATE_MAN           = NO
 | 
			
		||||
MAN_OUTPUT             = man
 | 
			
		||||
MAN_EXTENSION          = .3
 | 
			
		||||
MAN_SUBDIR             =
 | 
			
		||||
MAN_LINKS              = NO
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# Configuration options related to the XML output
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
GENERATE_XML           = NO
 | 
			
		||||
XML_OUTPUT             = xml
 | 
			
		||||
XML_PROGRAMLISTING     = YES
 | 
			
		||||
XML_NS_MEMB_FILE_SCOPE = NO
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# Configuration options related to the DOCBOOK output
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
GENERATE_DOCBOOK       = NO
 | 
			
		||||
DOCBOOK_OUTPUT         = docbook
 | 
			
		||||
DOCBOOK_PROGRAMLISTING = NO
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# Configuration options for the AutoGen Definitions output
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
GENERATE_AUTOGEN_DEF   = NO
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# Configuration options related to the Perl module output
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
GENERATE_PERLMOD       = NO
 | 
			
		||||
PERLMOD_LATEX          = NO
 | 
			
		||||
PERLMOD_PRETTY         = YES
 | 
			
		||||
PERLMOD_MAKEVAR_PREFIX =
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# Configuration options related to the preprocessor
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
ENABLE_PREPROCESSING   = YES
 | 
			
		||||
MACRO_EXPANSION        = NO
 | 
			
		||||
EXPAND_ONLY_PREDEF     = NO
 | 
			
		||||
SEARCH_INCLUDES        = YES
 | 
			
		||||
INCLUDE_PATH           =
 | 
			
		||||
INCLUDE_FILE_PATTERNS  =
 | 
			
		||||
PREDEFINED             =
 | 
			
		||||
EXPAND_AS_DEFINED      =
 | 
			
		||||
SKIP_FUNCTION_MACROS   = YES
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# Configuration options related to external references
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
TAGFILES               =
 | 
			
		||||
GENERATE_TAGFILE       =
 | 
			
		||||
ALLEXTERNALS           = NO
 | 
			
		||||
EXTERNAL_GROUPS        = YES
 | 
			
		||||
EXTERNAL_PAGES         = YES
 | 
			
		||||
PERL_PATH              = /usr/bin/perl
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# Configuration options related to the dot tool
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
CLASS_DIAGRAMS         = YES
 | 
			
		||||
MSCGEN_PATH            =
 | 
			
		||||
DIA_PATH               =
 | 
			
		||||
HIDE_UNDOC_RELATIONS   = YES
 | 
			
		||||
HAVE_DOT               = NO
 | 
			
		||||
DOT_NUM_THREADS        = 0
 | 
			
		||||
DOT_FONTNAME           = Helvetica
 | 
			
		||||
DOT_FONTSIZE           = 10
 | 
			
		||||
DOT_FONTPATH           =
 | 
			
		||||
CLASS_GRAPH            = YES
 | 
			
		||||
COLLABORATION_GRAPH    = YES
 | 
			
		||||
GROUP_GRAPHS           = YES
 | 
			
		||||
UML_LOOK               = NO
 | 
			
		||||
UML_LIMIT_NUM_FIELDS   = 10
 | 
			
		||||
TEMPLATE_RELATIONS     = NO
 | 
			
		||||
INCLUDE_GRAPH          = YES
 | 
			
		||||
INCLUDED_BY_GRAPH      = YES
 | 
			
		||||
CALL_GRAPH             = NO
 | 
			
		||||
CALLER_GRAPH           = NO
 | 
			
		||||
GRAPHICAL_HIERARCHY    = YES
 | 
			
		||||
DIRECTORY_GRAPH        = YES
 | 
			
		||||
DOT_IMAGE_FORMAT       = png
 | 
			
		||||
INTERACTIVE_SVG        = NO
 | 
			
		||||
DOT_PATH               =
 | 
			
		||||
DOTFILE_DIRS           =
 | 
			
		||||
MSCFILE_DIRS           =
 | 
			
		||||
DIAFILE_DIRS           =
 | 
			
		||||
PLANTUML_JAR_PATH      =
 | 
			
		||||
PLANTUML_CFG_FILE      =
 | 
			
		||||
PLANTUML_INCLUDE_PATH  =
 | 
			
		||||
DOT_GRAPH_MAX_NODES    = 50
 | 
			
		||||
MAX_DOT_GRAPH_DEPTH    = 0
 | 
			
		||||
DOT_TRANSPARENT        = NO
 | 
			
		||||
DOT_MULTI_TARGETS      = NO
 | 
			
		||||
GENERATE_LEGEND        = YES
 | 
			
		||||
DOT_CLEANUP            = YES
 | 
			
		||||
@@ -11,6 +11,7 @@
 | 
			
		||||
 | 
			
		||||
#include <chrono>
 | 
			
		||||
#include <thread>
 | 
			
		||||
#include <Logger.h>
 | 
			
		||||
 | 
			
		||||
#include <IPRefresher.h>
 | 
			
		||||
 | 
			
		||||
@@ -23,26 +24,27 @@ void IPRefresher::checkIPAdress(bool force) {
 | 
			
		||||
    if (ip.empty()) {
 | 
			
		||||
        //no internet connection
 | 
			
		||||
        logger.logToLogfile("[WARNING] no internet connection");
 | 
			
		||||
        std::cout << "[WARNING] no internet connection" << std::endl;
 | 
			
		||||
        Logger::warning("no internet connection");
 | 
			
		||||
    } else {
 | 
			
		||||
        std::string oldip = logger.readip();
 | 
			
		||||
 | 
			
		||||
    if (oldip == ip && !force) {
 | 
			
		||||
            std::cout << "[INFO] no change -- ip: " << ip << std::endl;
 | 
			
		||||
        if (oldip == ip && !force) {
 | 
			
		||||
            Logger::message("no change -- ip: " + ip);
 | 
			
		||||
            logger.logToLogfile(" [INFO] no change -- ip: " + ip);
 | 
			
		||||
        } else {
 | 
			
		||||
            logger.logToLogfile(" [INFO] ip changed! -- from :" + oldip + "to: " + ip);
 | 
			
		||||
            std::cout << "[INFO] ip changed! -- from :" << oldip << "to: " << ip << std::endl;
 | 
			
		||||
            Logger::message("ip changed! -- from :" + oldip + "to: " + ip);
 | 
			
		||||
 | 
			
		||||
            DynuAPI dynu;
 | 
			
		||||
 | 
			
		||||
            if (dynu.refreshIp(ip)) {
 | 
			
		||||
                TelegramAPI tele;
 | 
			
		||||
                tele.init("717213769:AAHan1nSXhUsxLJAN1Dv8Oc0z8wqwDdYPn4","618154204");
 | 
			
		||||
                tele.init("717213769:AAHan1nSXhUsxLJAN1Dv8Oc0z8wqwDdYPn4", "618154204");
 | 
			
		||||
                tele.sendMessage(oldip + " moved to " + ip);
 | 
			
		||||
            } else {
 | 
			
		||||
                //error
 | 
			
		||||
                logger.logToLogfile(" [ERROR] failed to write ip to dynu api!");
 | 
			
		||||
                Logger::error("failed to write ip to dynu api!");
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            logger.safeip(ip);
 | 
			
		||||
@@ -55,9 +57,9 @@ IPRefresher::IPRefresher() {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
IPRefresher::IPRefresher(bool loop) {
 | 
			
		||||
    std::cout << "[INFO] startup of service" << std::endl;
 | 
			
		||||
    while(true){
 | 
			
		||||
        std::cout << "[INFO] starting check" << std::endl;
 | 
			
		||||
    Logger::message("startup of service");
 | 
			
		||||
    while (loop) {
 | 
			
		||||
        Logger::message("starting check");
 | 
			
		||||
        checkIPAdress(false);
 | 
			
		||||
        std::this_thread::sleep_for(std::chrono::milliseconds(300000));
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -8,33 +8,31 @@
 | 
			
		||||
#include "Logger.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
const int Logger::Warning = 1;
 | 
			
		||||
const int Logger::Debug = 2;
 | 
			
		||||
const int Logger::Message = 3;
 | 
			
		||||
const int Logger::Error = 4;
 | 
			
		||||
 | 
			
		||||
void Logger::debug(std::string message) {
 | 
			
		||||
    log(message,Logger::Debug);
 | 
			
		||||
    log(message, Logger::Debug);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Logger::message(std::string message) {
 | 
			
		||||
    log(message,Logger::Message);
 | 
			
		||||
    log(message, Logger::Message);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Logger::warning(std::string message) {
 | 
			
		||||
    log(message,Logger::Warning);
 | 
			
		||||
    log(message, Logger::Warning);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Logger::error(std::string message) {
 | 
			
		||||
    log(message,Logger::Error);
 | 
			
		||||
    log(message, Logger::Error);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Logger::log(std::string message, int level) {
 | 
			
		||||
    std::stringstream out;
 | 
			
		||||
    out << "[";
 | 
			
		||||
    switch (level){
 | 
			
		||||
    switch (level) {
 | 
			
		||||
        case Debug:
 | 
			
		||||
            out << "DEBUG";
 | 
			
		||||
            break;
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,7 @@ int main(int argc, char *argv[]) {
 | 
			
		||||
                      << "[-l] [--loop] infinite loop to refresh ip every five minutes" << std::endl
 | 
			
		||||
                      << "[no argument] normal ip check and refresh" << std::endl;
 | 
			
		||||
        } else if (firstarg == "-v" || firstarg == "--version") {
 | 
			
		||||
            Logger::message("Version "+Version::VERSION);
 | 
			
		||||
            std::cout << "Version " << Version::VERSION << std::endl;
 | 
			
		||||
        } else if (firstarg == "-f" || firstarg == "--force") {
 | 
			
		||||
            IPRefresher ipr;
 | 
			
		||||
            ipr.checkIPAdress(true);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user