/**@@@+++@@@@******************************************************************
**
** Microsoft Windows Media
** Copyright (C) Microsoft Corporation. All rights reserved.
**
***@@@---@@@@******************************************************************
*/

#ifndef __TSTPARAMS_H
#define __TSTPARAMS_H

#define WMDRM_ERROR_INPUT_UINT	    ((DxChar)0xFF)
#define WMDRM_MAX_LEN_INPUT_DIGIT	(1UL)

#define WMDRM_BVT_TESTS_PARAM   (1)
#define WMDRM_FUNC_TESTS_PARAM  (2)
#define WMDRM_ALL_TESTS_PARAM   (0)
#define WMDRM_BVT_TESTS_STR     "bvt"
#define WMDRM_FUNC_TESTS_STR    "func"

/* Test data definitions */
#ifndef DX_CC5_SEP_PLAT

    /* Discretix PC simulation environment */
    #ifdef DX_ARM_INTEGRATOR_DEBUG
	  #define WMDRM_TST_BASE_PATH  "..//..//"       
	  #define WMDRM_TST_OUTPUT_PTH "..//OUTPUT\\"
	  #define WMDRM_TST_APP_PTH WMDRM_TST_OUTPUT_PTH
	  #define WMDRM_TST_SAMPLES_PTH "..//..//samples\\"
	  #define WMDRM_TST_COMMON_PTH "..//..//Test//common\\"
    #else
		#ifdef IN_MW_SOFT_PRJ
		#ifdef __unix__
			#define WMDRM_TST_BASE_PATH  ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER "WMDRM_TST" DX_VOS_PATH_DIVIDER
			#define WMDRM_TST_OUTPUT_PTH ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER "WMDRM_COMP" DX_VOS_PATH_DIVIDER "Workspace" DX_VOS_PATH_DIVIDER "output" DX_VOS_PATH_DIVIDER
			#define WMDRM_TST_APP_PTH "." DX_VOS_PATH_DIVIDER
			#define WMDRM_TST_SAMPLES_PTH ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER "WMDRM_TST" DX_VOS_PATH_DIVIDER "Samples" DX_VOS_PATH_DIVIDER
			#define WMDRM_TST_COMMON_PTH ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER "WMDRM_TST" DX_VOS_PATH_DIVIDER "Test" DX_VOS_PATH_DIVIDER "common" DX_VOS_PATH_DIVIDER
		#else
			#define WMDRM_TST_BASE_PATH ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER "WMDRM_TST" DX_VOS_PATH_DIVIDER
			#define WMDRM_TST_OUTPUT_PTH ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER "WMDRM_COMP" DX_VOS_PATH_DIVIDER "Workspace" DX_VOS_PATH_DIVIDER "output" DX_VOS_PATH_DIVIDER
			#define WMDRM_TST_APP_PTH "." DX_VOS_PATH_DIVIDER
			#define WMDRM_TST_SAMPLES_PTH ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER "WMDRM_TST" DX_VOS_PATH_DIVIDER "Samples" DX_VOS_PATH_DIVIDER
			#define WMDRM_TST_COMMON_PTH ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER "WMDRM_TST" DX_VOS_PATH_DIVIDER "Test" DX_VOS_PATH_DIVIDER "common" DX_VOS_PATH_DIVIDER
		#endif
		#else
		#define WMDRM_TST_BASE_PATH  ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER
		#define WMDRM_TST_OUTPUT_PTH "." DX_VOS_PATH_DIVIDER 
      	#define WMDRM_TST_APP_PTH WMDRM_TST_OUTPUT_PTH
		#define WMDRM_TST_SAMPLES_PTH ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER "samples" DX_VOS_PATH_DIVIDER
		#define WMDRM_TST_COMMON_PTH ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER "Test" DX_VOS_PATH_DIVIDER "common" DX_VOS_PATH_DIVIDER
		#endif /* IN_MW_SOFT_PRJ */
    #endif /* DX_ARM_INTEGRATOR_DEBUG */
#define WMDRM_MAX_STRING_LEN    (2048)
#define WMDRM_MAX_FILE_NAME_LEN (128)
#define WMDRM_MAX_PATH_LEN      (1024)
#else
	
		#define WMDRM_TST_BASE_PATH  ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER "WMDRM" DX_VOS_PATH_DIVIDER ""
		#define WMDRM_TST_OUTPUT_PTH ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER "WMDRMPD" DX_VOS_PATH_DIVIDER "Output" DX_VOS_PATH_DIVIDER ""
		#define WMDRM_TST_APP_PTH "." DX_VOS_PATH_DIVIDER ""
		#define WMDRM_TST_SAMPLES_PTH ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER "WMDRM" DX_VOS_PATH_DIVIDER "Samples" DX_VOS_PATH_DIVIDER ""
		#define WMDRM_TST_COMMON_PTH ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER "WMDRM" DX_VOS_PATH_DIVIDER "Test" DX_VOS_PATH_DIVIDER "common" DX_VOS_PATH_DIVIDER ""
#define WMDRM_MAX_STRING_LEN    (2048)
#define WMDRM_MAX_FILE_NAME_LEN (64)
#define WMDRM_MAX_PATH_LEN      (128)
	#ifndef DX_TST_OS
	  #define WMDRM_TST_BASE_PATH  ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER "WMDRM" DX_VOS_PATH_DIVIDER ""
	  #define WMDRM_TST_OUTPUT_PTH ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER "WMDRMPD" DX_VOS_PATH_DIVIDER "Output" DX_VOS_PATH_DIVIDER ""
	  #define WMDRM_TST_APP_PTH "." DX_VOS_PATH_DIVIDER ""
	  #define WMDRM_TST_SAMPLES_PTH ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER "WMDRM" DX_VOS_PATH_DIVIDER "samples" DX_VOS_PATH_DIVIDER ""
	  #define WMDRM_TST_COMMON_PTH ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER "WMDRM" DX_VOS_PATH_DIVIDER "Test" DX_VOS_PATH_DIVIDER "common" DX_VOS_PATH_DIVIDER ""
	#else  /*DX LINUX DD*/
          #define WMDRM_TST_BASE_PATH  "." DX_VOS_PATH_DIVIDER
          #define WMDRM_TST_OUTPUT_PTH "." DX_VOS_PATH_DIVIDER "output" DX_VOS_PATH_DIVIDER
          #define WMDRM_TST_APP_PTH "." DX_VOS_PATH_DIVIDER
          #define WMDRM_TST_SAMPLES_PTH "." DX_VOS_PATH_DIVIDER "samples" DX_VOS_PATH_DIVIDER
          #define WMDRM_TST_COMMON_PTH "." DX_VOS_PATH_DIVIDER "Test" DX_VOS_PATH_DIVIDER "common" DX_VOS_PATH_DIVIDER
	#endif

    #ifdef DX_ARM_INTEGRATOR_DEBUG /*Discretix simulation*/
		#ifdef DX_TST_OS /*DX LINUX DD*/
		  #define WMDRM_TST_BASE_PATH  "." DX_VOS_PATH_DIVIDER
		  #define WMDRM_TST_OUTPUT_PTH "." DX_VOS_PATH_DIVIDER "output" DX_VOS_PATH_DIVIDER
		  #define WMDRM_TST_APP_PTH "." DX_VOS_PATH_DIVIDER
		  #define WMDRM_TST_SAMPLES_PTH "." DX_VOS_PATH_DIVIDER "samples" DX_VOS_PATH_DIVIDER
		  #define WMDRM_TST_COMMON_PTH "." DX_VOS_PATH_DIVIDER "Test" DX_VOS_PATH_DIVIDER "common" DX_VOS_PATH_DIVIDER
		#else
		  /*DX FPGA simulation */
		  #define WMDRM_TST_BASE_PATH  ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER "WMDRM" DX_VOS_PATH_DIVIDER ""
		  #define WMDRM_TST_OUTPUT_PTH ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER "WMDRMPD" DX_VOS_PATH_DIVIDER "Output" DX_VOS_PATH_DIVIDER ""
		  #define WMDRM_TST_APP_PTH "." DX_VOS_PATH_DIVIDER ""
		  #define WMDRM_TST_SAMPLES_PTH ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER "WMDRM" DX_VOS_PATH_DIVIDER "samples" DX_VOS_PATH_DIVIDER ""
		  #define WMDRM_TST_COMMON_PTH ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER "WMDRM" DX_VOS_PATH_DIVIDER "Test" DX_VOS_PATH_DIVIDER "common" DX_VOS_PATH_DIVIDER ""
		
		  /*DX trunk work branch*/
		  //#define WMDRM_TST_BASE_PATH  ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER "HOST" DX_VOS_PATH_DIVIDER "WMDRM" DX_VOS_PATH_DIVIDER ""
		  //#define WMDRM_TST_OUTPUT_PTH ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER "HOST" DX_VOS_PATH_DIVIDER "WMDRMPD" DX_VOS_PATH_DIVIDER "Output" DX_VOS_PATH_DIVIDER ""
		  //#define WMDRM_TST_APP_PTH "." DX_VOS_PATH_DIVIDER ""
		  //#define WMDRM_TST_SAMPLES_PTH ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER "HOST" DX_VOS_PATH_DIVIDER "WMDRM" DX_VOS_PATH_DIVIDER "samples" DX_VOS_PATH_DIVIDER ""
		  //#define WMDRM_TST_COMMON_PTH ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER "HOST" DX_VOS_PATH_DIVIDER "WMDRM" DX_VOS_PATH_DIVIDER "Test" DX_VOS_PATH_DIVIDER "common" DX_VOS_PATH_DIVIDER ""
		#endif /*DX_TST_OS*/
	#else
		  /*Release package environment */
		  #define WMDRM_TST_BASE_PATH  ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER "WMDRM" DX_VOS_PATH_DIVIDER ""
		  #define WMDRM_TST_OUTPUT_PTH ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER "WMDRMPD" DX_VOS_PATH_DIVIDER "Output" DX_VOS_PATH_DIVIDER ""
		  #define WMDRM_TST_APP_PTH "." DX_VOS_PATH_DIVIDER ""
		  #define WMDRM_TST_SAMPLES_PTH ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER "WMDRM" DX_VOS_PATH_DIVIDER "samples" DX_VOS_PATH_DIVIDER ""
		  #define WMDRM_TST_COMMON_PTH ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER ".." DX_VOS_PATH_DIVIDER "WMDRM" DX_VOS_PATH_DIVIDER "Test" DX_VOS_PATH_DIVIDER "common" DX_VOS_PATH_DIVIDER ""
	#endif /*DX_ARM_INTEGRATOR_DEBUG*/
#endif /*DX_CC5_SEP_PLAT*/


typedef DRM_RESULT (*WMDRMTestMethod_t)();
typedef DRM_RESULT (*WMDRMTestAPI_t)(long argc, char** argv);
typedef DRM_RESULT (*WMDRMPrePostTestFunc_t)(long lTCID, char *strTCName);

typedef struct WMDRMRunInfo_t
{
    DxChar              choiceChar;
    DxChar              TST_descr[100];
    WMDRMTestMethod_t   TST_method;
} WMDRMRunInfo_t, *WMDRMRunInfoPtr_t;

#endif
