You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
2.9 KiB

/*=============================================================================
Copyright 2018.
Siemens Product Lifecycle Management Software Inc.
All Rights Reserved.
===============================================================================
File description:
File name: CrfCumParamStruct.hxx
Module : qry
=============================================================================*/
#ifndef CRFCUMPARAMSTRUCT_HXX /* if not already included */
#define CRFCUMPARAMSTRUCT_HXX
#include <qry/libqry_exports.h>
/*
use polymorphism here, so in future when we need add new parameters, just add a new type and custom ITK still works
*/
struct CUMITKINPUTBASE
{
const char* method_name; /**< Name of method selected by user.*/
const char* release_status; /**< The release status value.*/
const int objs_num; /**< Number of selected objects.*/
const tag_t* n_objs; /**< This holds tags of all selected objects.*/
const tag_t ss_tag; /**< Tag for selected stylesheet.*/
logical isCustomLib; /**< Flag to indicate if executing from OOTB or Custom library.*/
virtual void emptyOp(){}
CUMITKINPUTBASE( const char*name,const char*rs,const int num,const tag_t* objs,const tag_t ss):method_name(name),release_status(rs),objs_num(num),n_objs(objs),ss_tag(ss){}
};
struct CUMITKINPUT_A : CUMITKINPUTBASE
{
const char* dataset_name; /**< Name of the dataset user has entered.*/
logical dataset_created; /**< This indicates dataset is created by custom ITK.*/
logical applyst; /**< This indicates stylesheet is applied by custom ITK.*/
CUMITKINPUT_A(const char*name,const char*rs,const int num,const tag_t* objs,const tag_t ss,const char* dt):CUMITKINPUTBASE(name,rs,num,objs,ss),dataset_name(dt){}
};
struct CUMITKINPUT_B : CUMITKINPUT_A
{
const char* report_locale; /**< ID of the locale selected by user. For English value will be en_US, German will have de_DE.*/
CUMITKINPUT_B(const char*name,const char*rs,const int num,const tag_t* objs,const tag_t ss,const char* dt,const char* rl):CUMITKINPUT_A(name,rs,num,objs,ss,dt),report_locale(rl){}
};
struct CUMITKINPUT_C : CUMITKINPUT_B
{
int n_report_options; /**< Number of the user options.*/
char** report_option_names; /**< n_report_options Custom Report UI enables users to include additional options. This holds all user entered option names.*/
char** report_option_values; /**< n_report_options This holds values for all the report options.*/
CUMITKINPUT_C(const char*name,const char*rs,const int num,const tag_t* objs,const tag_t ss,const char* dt,const char* rl,char** rd_option_names, char** rd_option_values, int rd_options_count):CUMITKINPUT_B(name,rs,num,objs,ss,dt,rl),report_option_names(rd_option_names),report_option_values(rd_option_values),n_report_options(rd_options_count){}
};
#include <qry/libqry_undef.h>
#endif