dca_interface  6.3.4
generic_samples: updatesample

Introduction

Uses the DCA API to show how live updates of the instaciated DCA work.

If there is any update is available, it will be downloaded and installed. After the update process, it will print out all updated files and all available update details.

You may extend the sample by simply initializing more DCA modules. Then you will get more possible updates for these additional modules.

It also shows how to use the classes:

Syntax:

updatesample <dca-redist-folder> <ticket> <product>
See also
Samples Main Documentation: Samples

Files

file  generic_samples/updatesample/main.cpp
 Update sample program.
 

Macros

#define DCA_BINDIR   "bin/linux"
 DCA subdirectory of the DCA binaries.
 
#define DCA_INITDIR   "init"
 DCA subdirectory of the DCA initialization data.
 
#define DCA_LOGDIR   "./logs"
 Relative directory for logfile(s).
 

Functions

static void SetupInitData (const std::string &redist_folder, InitData &initData)
 Sets up the given initData by substituting the given redist_folder with DCA subdirectories. More...
 
static void SetupLicense (const std::string &ticket, const std::string &product, LicenseData &licenseData)
 Sets up the given licenseData by copying the given ticket and product strings. More...
 
static void PrintLicenseInfo (const License &aLicense)
 Prints out the information about the provided License. More...
 
int TestUpdate (const DcaInstance &myDca, const License &myLicense)
 Sets up required classes and performs an update by calling UpdateModule::performUpdate(). More...
 
static void PrintToolHeader ()
 Prints out the name and the version of this sample.
 
static void PrintUsage (const char *name)
 Prints out the syntax of the sample. More...
 
int main (int argc, char *argv[])
 The main routine. More...
 

Variables

const std::string S_UsageString
 Usage string - that is printed out if a parameter was missing. More...
 

Function Documentation

◆ SetupInitData()

static void SetupInitData ( const std::string &  redist_folder,
InitData initData 
)
static

Sets up the given initData by substituting the given redist_folder with DCA subdirectories.

Parameters
[in]redist_folderThis is the folder where the DCA has been installed to (assuming trailing filslash)
[out]initDataThe InitData structure to set up
Note
Only DCA_BINDIR differs between Windows and Linux
The directory ./logs is used for the logfile(s)

Definition at line 95 of file generic_samples/updatesample/main.cpp.

◆ SetupLicense()

static void SetupLicense ( const std::string &  ticket,
const std::string &  product,
LicenseData licenseData 
)
static

Sets up the given licenseData by copying the given ticket and product strings.

Parameters
[in]ticketThis is the ticket data as provided with your DCA license
[in]productThis is the product shortcut e.g. DC oder MS etc
[out]licenseDataThe LicenseData structure to set up

Definition at line 110 of file generic_samples/updatesample/main.cpp.

◆ PrintLicenseInfo()

static void PrintLicenseInfo ( const License aLicense)
static

Prints out the information about the provided License.

Parameters
[in]aLicenseThe license for which information should be displayed.

Definition at line 122 of file generic_samples/updatesample/main.cpp.

◆ TestUpdate()

int TestUpdate ( const DcaInstance myDca,
const License myLicense 
)

Sets up required classes and performs an update by calling UpdateModule::performUpdate().

This function initializes the UpdateModule and calls then its performUpdate method.

Then it prints out the results in detail.

Parameters
[in]myDcaA valid set up DCA Instance
[in]myLicenseA valid set up License

Definition at line 157 of file generic_samples/updatesample/main.cpp.

◆ PrintUsage()

static void PrintUsage ( const char *  name)
static

Prints out the syntax of the sample.

Parameters
[in]nameThe name of the executable

Definition at line 235 of file generic_samples/updatesample/main.cpp.

◆ main()

int main ( int  argc,
char *  argv[] 
)

The main routine.

Parameters
[in]argcThe count of arguments provided
[in]argvAn array of provided arguments
Returns
5 on usage error, 10 on exception and internal error and 0 on success
Note
The update process includes only already loaded modules for content updates. To get this sample doing more updates, initialize some more of your licensed modules here.

Definition at line 252 of file generic_samples/updatesample/main.cpp.

Variable Documentation

◆ S_UsageString

const std::string S_UsageString
Initial value:
=
"<dca-redist-folder> <ticket> <product>\n"
" dca-redist-folder - the folder where the DCA is installed to\n"
" ticket - a valid ticket\n"
" product - the product associated with your ticket\n\n"

Usage string - that is printed out if a parameter was missing.

Definition at line 56 of file generic_samples/updatesample/main.cpp.