#ifndef _NP_CLIENTDEFINES_H_
#define _NP_CLIENTDEFINES_H_

//Version
#define Np_SDK_VERSION "1.0.0.0"

//Result
#define Np_Result_OK					0
#define Np_Result_CLI_FAULT				1
#define Np_Result_SVR_FAULT				2
#define Np_Result_USER_ERROR			3
#define Np_Result_FAILED				4
#define Np_Result_NO_METHOD				5
#define Np_Result_NO_DATA				6
#define Np_Result_SOCKET_ERROR			7
#define Np_Result_INVALID_ARGUMENT		8
#define Np_Result_FATAL_ERROR   		9 // handle should be destroyed


//Error code (player)
#define Np_ERROR_CODE_BASE                                      1000
#define	Np_ERROR_CONNECT_SUCCESS								Np_ERROR_CODE_BASE+1
#define	Np_ERROR_CONNECT_ERROR									Np_ERROR_CODE_BASE+2
#define	Np_ERROR_DISCONNECT_SUCCESS								Np_ERROR_CODE_BASE+3
#define Np_ERROR_SESSION_NODATA									Np_ERROR_CODE_BASE+4
#define Np_ERROR_SESSION_LOST									Np_ERROR_CODE_BASE+5
#define Np_ERROR_EOF         									Np_ERROR_CODE_BASE+6


//Event code 
#define Np_EVENT_CODE_BASE                                        3000
#define Np_EVENT_USER_DEFINED_CODE_BASE                           8000
//------for source entity type: general server
#define Np_EVENT_RESOURCE_DEPLETED                                Np_EVENT_CODE_BASE+0
#define Np_EVENT_NETWORK_CONGESTION                               Np_EVENT_CODE_BASE+1
#define Np_EVENT_SYSTEM_HEALTH_UNUSUAL                            Np_EVENT_CODE_BASE+2
//------for source entity type: archiver server
#define Np_EVENT_DISK_SPACE_EXHAUSTED                             Np_EVENT_CODE_BASE+100
//------for MainConsole-only events
#define Np_EVENT_GENERAL_MOTION_1                                 Np_EVENT_CODE_BASE+180
#define Np_EVENT_GENERAL_MOTION_2                                 Np_EVENT_CODE_BASE+181
#define Np_EVENT_GENERAL_MOTION_3                                 Np_EVENT_CODE_BASE+182
#define Np_EVENT_GENERAL_MOTION_4                                 Np_EVENT_CODE_BASE+183
#define Np_EVENT_GENERAL_MOTION_5                                 Np_EVENT_CODE_BASE+184
#define Np_EVENT_FOREIGN_OBJECT                                   Np_EVENT_CODE_BASE+185
#define Np_EVENT_MISSING_OBJECT                                   Np_EVENT_CODE_BASE+186
#define Np_EVENT_FOCUS_LOST                                       Np_EVENT_CODE_BASE+187
#define Np_EVENT_CAMERA_OCCLUSION                                 Np_EVENT_CODE_BASE+188
#define Np_EVENT_GENERAL_MOTION_DEVICE                            Np_EVENT_CODE_BASE+189
//------for source entity type: sensor
#define Np_EVENT_SIGNAL_LOST                                      Np_EVENT_CODE_BASE+200
#define Np_EVENT_SIGNAL_RESTORE                                   Np_EVENT_CODE_BASE+201
#define Np_EVENT_MOTION_START                                     Np_EVENT_CODE_BASE+202
#define Np_EVENT_MOTION_STOP                                      Np_EVENT_CODE_BASE+203
#define Np_EVENT_RECORD_ON_MOTION_START                           Np_EVENT_CODE_BASE+204
#define Np_EVENT_RECORD_ON_MOTION_STOP                            Np_EVENT_CODE_BASE+205
#define Np_EVENT_RECORD_ON_EVENT_START                            Np_EVENT_CODE_BASE+206 //description: "EventId:xxxxxxxx".
#define Np_EVENT_RECORD_ON_EVENT_STOP                             Np_EVENT_CODE_BASE+207 //description: "EventId:xxxxxxxx".
#define Np_EVENT_RECORD_ON_MANUAL_START                           Np_EVENT_CODE_BASE+208 //description: "User:xxxxxxxx".
#define Np_EVENT_RECORD_ON_MANUAL_STOP                            Np_EVENT_CODE_BASE+209 //description: "User:xxxxxxxx".
#define Np_EVENT_RECORD_ON_SCHEDULE_START                         Np_EVENT_CODE_BASE+210 //description: "ScheduleId:xxxxxxxx".
#define Np_EVENT_RECORD_ON_SCHEDULE_STOP                          Np_EVENT_CODE_BASE+211 //description: "ScheduleId:xxxxxxxx".
#define Np_EVENT_RECORD_START                                     Np_EVENT_CODE_BASE+212 //description: "Mode:Always/Schedule/Manual" (for Titan).
#define Np_EVENT_RECORD_STOP                                      Np_EVENT_CODE_BASE+213 //description: "Mode:Always/Schedule/Manual" (for Titan).
#define Np_EVENT_BACKUP_AUTO_START                                Np_EVENT_CODE_BASE+214
#define Np_EVENT_BACKUP_AUTO_STOP                                 Np_EVENT_CODE_BASE+215
#define Np_EVENT_BACKUP_AUTO_FAIL                                 Np_EVENT_CODE_BASE+216 //description: "Reason:Unable to access backup server/Auto-backup is not completed/Cancel auto-backup because the user change settings"
#define Np_EVENT_BACKUP_MANUAL_START                              Np_EVENT_CODE_BASE+217
#define Np_EVENT_BACKUP_MANUAL_STOP                               Np_EVENT_CODE_BASE+218
#define Np_EVENT_BACKUP_MANUAL_FAIL                               Np_EVENT_CODE_BASE+219 //description: TBD
#define Np_EVENT_EXPORT_START                                     Np_EVENT_CODE_BASE+220
#define Np_EVENT_EXPORT_STOP                                      Np_EVENT_CODE_BASE+221
#define Np_EVENT_EXPORT_FAIL                                      Np_EVENT_CODE_BASE+222 //description: TBD
#define Np_EVENT_MANUAL_RECORD_MODE_START						  Np_EVENT_CODE_BASE+223 //(for Titan).	
#define Np_EVENT_MANUAL_RECORD_MODE_STOP						  Np_EVENT_CODE_BASE+224 //(for Titan).	

//------for source entity type: digital input
#define Np_EVENT_INPUT_CLOSED                                     Np_EVENT_CODE_BASE+400
#define Np_EVENT_INPUT_OPENED                                     Np_EVENT_CODE_BASE+401
//------for source entity type: output relay
#define Np_EVENT_OUTPUT_ON                                        Np_EVENT_CODE_BASE+500
#define Np_EVENT_OUTPUT_OFF                                       Np_EVENT_CODE_BASE+501
//------for source entity type: unit
#define Np_EVENT_CONNECTION_LOST                                  Np_EVENT_CODE_BASE+600
#define Np_EVENT_CONNECTION_RESTORE                               Np_EVENT_CODE_BASE+601
//------for source entity type: different entity type
#define Np_EVENT_PHYSICAL_DEVICE_TREELIST_UPDATED                 Np_EVENT_CODE_BASE+3000
#define Np_EVENT_LOGICAL_DEVICE_TREELIST_UPDATED                  Np_EVENT_CODE_BASE+3001
#define Np_EVENT_DEVICE_TREELIST_UPDATED                          Np_EVENT_CODE_BASE+3002
#define Np_EVENT_CAROUSEL_LIST_UPDATED                            Np_EVENT_CODE_BASE+3003
#define Np_EVENT_PANORAMA_LIST_UPDATED                            Np_EVENT_CODE_BASE+3004
#define Np_EVENT_AOI_LIST_UPDATED                                 Np_EVENT_CODE_BASE+3005
#define Np_EVENT_EMAP_TREELIST_UPDATED                            Np_EVENT_CODE_BASE+3006
#define Np_EVENT_EMAP_IMAGE_ID_LIST_UPDATED                       Np_EVENT_CODE_BASE+3007
#define Np_EVENT_EMAP_IMAGE_ICON_ID_LIST_UPDATED                  Np_EVENT_CODE_BASE+3008
#define Np_EVENT_LAYOUT_LIST_UPDATED                              Np_EVENT_CODE_BASE+3009
#define Np_EVENT_SHARE_VIEW_TREE_UPDATED                          Np_EVENT_CODE_BASE+3010
#define Np_EVENT_PRIVATE_VIEW_TREE_UPDATED                        Np_EVENT_CODE_BASE+3011
#define Np_EVENT_PRIVILEGE_ACCESS_RIGHT_UPDATED                   Np_EVENT_CODE_BASE+3012
#define Np_EVENT_PASSWORD_CHANGED					              Np_EVENT_CODE_BASE+3013
#define Np_EVENT_ACCOUNT_DELETE                   				  Np_EVENT_CODE_BASE+3014
#define Np_EVENT_SERVICE_NETWORK_SETTING_CHANGED     			  Np_EVENT_CODE_BASE+3015
#endif 

