00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00018
00019
00020
00021 #ifndef __MX_ISUPPORTSRECORDINGCONFIGURATION_H__
00022 #define __MX_ISUPPORTSRECORDINGCONFIGURATION_H__
00023
00024
00025
00026 #define MX_ISUPPORTSRECORDINGCONFIGURATION_ID "ISupportsRecordingConfiguration"
00027
00028
00029
00030 #include "IInterface.h"
00031 #include "../mx_types.h"
00032 #include "../mx_error_codes.h"
00033 #include "../mx_enum_config.h"
00034
00035 #include <mxm/core/mxmString.h>
00036
00037
00038 namespace mx {
00039
00041
00044 class ISupportsRecordingConfiguration : virtual IInterface {
00045
00046 public:
00047
00051 virtual u32 supportedRecordingModes() = 0;
00054 virtual EErrorCode setRecordingMode(enum ERecordingMode eMode) = 0;
00059 virtual ERecordingMode recordingMode() = 0;
00060
00061 virtual bool isRecordingFramerateSupported() = 0;
00062
00063 virtual EErrorCode setRecordingFramerate(float framerate) = 0;
00064
00065 virtual float recordingFramerate() = 0;
00066
00067 virtual bool isPackedStorySupported() = 0;
00068
00069 virtual EErrorCode setPackedStory(bool enable) = 0;
00070
00071 virtual bool packedStory() = 0;
00072
00073 virtual bool isAudioRecordingSupported() = 0;
00074
00075 virtual EErrorCode setAudioRecording(bool enable) = 0;
00076
00077 virtual bool audioRecording() = 0;
00078
00079 virtual u32 supportedRecordingSwitches() = 0;
00082 virtual EErrorCode setRecordingSwitch(ERecordingSwitch eSwitch) = 0;
00087 virtual ERecordingSwitch recordingSwitch() = 0;
00088 virtual bool isRecordingSwitchSupported() = 0;
00089
00090 virtual u32 supportedGeneralArmingSwitches() =0;
00093 virtual EErrorCode setGeneralArmingSwitch(ERecordingSwitch eSwitch) = 0;
00094
00099 virtual ERecordingSwitch generalArmingSwitch() = 0;
00100 virtual bool isGeneralArmingSwitchSupported() = 0;
00101
00105 virtual bool isPreRecordingTimeSupported() = 0;
00106
00107 virtual EErrorCode setPreRecordingTime(u32 uTimeMs) = 0;
00108
00109 virtual u32 preRecordingTime() = 0;
00110
00114 virtual bool isPostRecordingTimeSupported() = 0;
00115
00116 virtual EErrorCode setPostRecordingTime(u32 uTimeMs) = 0;
00117
00118 virtual u32 postRecordingTime() = 0;
00119
00122 virtual bool isEventFramerateSupported() = 0;
00123
00124 virtual EErrorCode setEventFramerate(float framerate) = 0;
00125
00126 virtual float eventFramerate() = 0;
00127
00128 virtual u32 supportedRecordingEvents() = 0;
00129
00130 virtual u32 activeRecordingEvents() = 0;
00131
00132 virtual u32 recordingEvents() = 0;
00133
00134 virtual EErrorCode setRecordingEvents(u32 recordingEvents) = 0;
00135
00139 virtual bool isExternalStorageSupported() = 0;
00140
00141
00142
00143 virtual u32 supportedRecordingTargets() = 0;
00144
00145 virtual EErrorCode setRecordingTarget(ERecordingTarget target) = 0;
00146 virtual ERecordingTarget recordingTarget() = 0;
00147
00148 virtual EErrorCode setStorageServerIP(const mxmString& ip) = 0;
00149 virtual mxmString storageServerIP() = 0;
00150
00151 virtual EErrorCode setRemoteDirectory(const mxmString& dir) = 0;
00152 virtual mxmString remoteDirectory() = 0;
00153
00154 virtual EErrorCode setRemoteUser(const mxmString& user) = 0;
00155 virtual mxmString remoteUser() = 0;
00156
00157 virtual EErrorCode setRemotePassword(const mxmString& password) = 0;
00158 virtual mxmString remotePassword() = 0;
00162 virtual EErrorCode setStorageSizeMB(u32 size) = 0;
00163 virtual u32 storageSizeMB() = 0;
00164 virtual EErrorCode setStorageSizeUnlimited(bool unlimited) = 0;
00165 virtual bool storageSizeUnlimited() = 0;
00166
00167 virtual EErrorCode setTimeToKeep(u32 days) = 0;
00168 virtual u32 timeToKeep() = 0;
00169 virtual EErrorCode setTimeToKeepUnlimited(bool unlimited) = 0;
00170 virtual bool timeToKeepUnlimited() = 0;
00171
00172 virtual EErrorCode setNumberOfEvents(u32 size) = 0;
00173 virtual u32 numberOfEvents() = 0;
00174 virtual EErrorCode setNumberOfEventsUnlimited(bool unlimited) = 0;
00175 virtual bool numberOfEventsUnlimited() = 0;
00176
00177 };
00178
00179
00180 };
00181
00182
00183
00184 #endif // __MX_ISUPPORTSRECORDINGCONFIGURATION_H__