DreamineVMS
1.0.0.0
Windows PC의 RTSP·USB 카메라 영상을 HLS로 변환해 원격 CCTV Viewer에 전달하는 데스크톱 에이전트입니다.
Toggle main menu visibility
로딩중...
검색중...
일치하는것 없음
CameraRowViewModel.cs
이 파일의 문서화 페이지로 가기
1
using
DreamineVMS.Models
;
2
using
System.ComponentModel;
3
using
System.Runtime.CompilerServices;
4
using
System.Windows.Media;
5
6
namespace
DreamineVMS.ViewModels
;
7
24
public
sealed
class
CameraRowViewModel
: INotifyPropertyChanged, IDisposable
25
{
34
private
readonly
CameraRuntimeState
_runtimeState
;
43
private
bool
_isDisposed
;
44
77
public
CameraRowViewModel
(
CameraDevice
device,
CameraRuntimeState
runtimeState)
78
{
79
Device
= device ??
throw
new
ArgumentNullException(nameof(device));
80
_runtimeState
= runtimeState ??
throw
new
ArgumentNullException(nameof(runtimeState));
81
82
_runtimeState.PropertyChanged +=
OnRuntimeStatePropertyChanged
;
83
}
84
93
public
event
PropertyChangedEventHandler?
PropertyChanged
;
94
103
public
CameraDevice
Device
{
get
; }
104
113
public
string
Id
=>
Device
.Id;
114
123
public
string
Name
=>
Device
.Name;
124
133
public
string
RtspUrl
=>
Device
.RtspUrl;
134
143
public
string
HlsUrl
=>
Device
.HlsUrl;
144
153
public
CameraConnectionState
State
=>
_runtimeState
.State;
154
163
public
string
StateText
=>
_runtimeState
.State.ToString();
164
173
public
Brush
StateBrush
=> _runtimeState.State
switch
174
{
175
CameraConnectionState.Connected
=>
new
SolidColorBrush(Color.FromRgb(0x22, 0xc5, 0x5e)),
176
CameraConnectionState.Connecting
=>
new
SolidColorBrush(Color.FromRgb(0xf5, 0x9e, 0x0b)),
177
CameraConnectionState.Faulted
=>
new
SolidColorBrush(Color.FromRgb(0xef, 0x44, 0x44)),
178
_ =>
new
SolidColorBrush(Color.FromRgb(0x6b, 0x72, 0x80))
179
};
180
189
public
void
Dispose
()
190
{
191
if
(
_isDisposed
)
192
{
193
return
;
194
}
195
196
_isDisposed
=
true
;
197
_runtimeState.PropertyChanged -=
OnRuntimeStatePropertyChanged
;
198
}
199
224
private
void
OnRuntimeStatePropertyChanged
(
object
? sender, PropertyChangedEventArgs e)
225
{
226
// RuntimeState의 어떤 속성이 바뀌어도 행 표시에 영향이 있으므로 일괄 알림.
227
OnPropertyChanged
(nameof(
State
));
228
OnPropertyChanged
(nameof(
StateText
));
229
OnPropertyChanged
(nameof(
StateBrush
));
230
}
231
248
private
void
OnPropertyChanged
([CallerMemberName]
string
? propertyName =
null
)
249
{
250
PropertyChanged
?.Invoke(
this
,
new
PropertyChangedEventArgs(propertyName));
251
}
252
}
DreamineVMS.Models
Definition
CameraConnectionState.cs:1
DreamineVMS.Models.CameraConnectionState
CameraConnectionState
Definition
CameraConnectionState.cs:12
DreamineVMS.Models.CameraConnectionState.Faulted
@ Faulted
Definition
CameraConnectionState.cs:48
DreamineVMS.Models.CameraConnectionState.Connected
@ Connected
Definition
CameraConnectionState.cs:39
DreamineVMS.Models.CameraConnectionState.Connecting
@ Connecting
Definition
CameraConnectionState.cs:30
DreamineVMS.ViewModels
Definition
AgentSettingsViewModel.cs:7
DreamineVMS.Models.CameraDevice
Definition
CameraDevice.cs:12
DreamineVMS.Models.CameraRuntimeState
Definition
CameraRuntimeState.cs:15
DreamineVMS.ViewModels.CameraRowViewModel.StateBrush
Brush StateBrush
Definition
CameraRowViewModel.cs:173
DreamineVMS.ViewModels.CameraRowViewModel.OnRuntimeStatePropertyChanged
void OnRuntimeStatePropertyChanged(object? sender, PropertyChangedEventArgs e)
Definition
CameraRowViewModel.cs:224
DreamineVMS.ViewModels.CameraRowViewModel._isDisposed
bool _isDisposed
Definition
CameraRowViewModel.cs:43
DreamineVMS.ViewModels.CameraRowViewModel.HlsUrl
string HlsUrl
Definition
CameraRowViewModel.cs:143
DreamineVMS.ViewModels.CameraRowViewModel.Device
CameraDevice Device
Definition
CameraRowViewModel.cs:103
DreamineVMS.ViewModels.CameraRowViewModel.Dispose
void Dispose()
Definition
CameraRowViewModel.cs:189
DreamineVMS.ViewModels.CameraRowViewModel._runtimeState
readonly CameraRuntimeState _runtimeState
Definition
CameraRowViewModel.cs:34
DreamineVMS.ViewModels.CameraRowViewModel.RtspUrl
string RtspUrl
Definition
CameraRowViewModel.cs:133
DreamineVMS.ViewModels.CameraRowViewModel.Name
string Name
Definition
CameraRowViewModel.cs:123
DreamineVMS.ViewModels.CameraRowViewModel.OnPropertyChanged
void OnPropertyChanged([CallerMemberName] string? propertyName=null)
Definition
CameraRowViewModel.cs:248
DreamineVMS.ViewModels.CameraRowViewModel.CameraRowViewModel
CameraRowViewModel(CameraDevice device, CameraRuntimeState runtimeState)
Definition
CameraRowViewModel.cs:77
DreamineVMS.ViewModels.CameraRowViewModel.State
CameraConnectionState State
Definition
CameraRowViewModel.cs:153
DreamineVMS.ViewModels.CameraRowViewModel.StateText
string StateText
Definition
CameraRowViewModel.cs:163
DreamineVMS.ViewModels.CameraRowViewModel.Id
string Id
Definition
CameraRowViewModel.cs:113
DreamineVMS.ViewModels.CameraRowViewModel.PropertyChanged
PropertyChangedEventHandler? PropertyChanged
Definition
CameraRowViewModel.cs:93
ViewModels
CameraRowViewModel.cs
다음에 의해 생성됨 :
1.17.0