DreamineVMS 1.0.0.0
Windows PC의 RTSP·USB 카메라 영상을 HLS로 변환해 원격 CCTV Viewer에 전달하는 데스크톱 에이전트입니다.
로딩중...
검색중...
일치하는것 없음
DreamineVMS.Blazor.ViewModels.DashboardPageViewModel 클래스 참조sealed

더 자세히 ...

DreamineVMS.Blazor.ViewModels.DashboardPageViewModel에 대한 상속 다이어그램 :
DreamineVMS.Blazor.ViewModels.DashboardPageViewModel에 대한 협력 다이어그램:

Public 멤버 함수

 DashboardPageViewModel (IHybridStateStore< VmsDashboardState > store, IHybridMessageBus bus, IVmsCameraRepository repository, ICameraRuntimeStateService runtimeState)
void Initialize ()
Task OpenLiveAsync ()
Task ConnectCameraAsync (string cameraId)
Task DisconnectCameraAsync (string cameraId)
Task StartAllAsync ()
Task StopAllAsync ()
Task ClearLogsAsync ()
void Dispose ()

속성

int TotalCameraCount [get]
int ConnectedCameraCount [get]
int RecordingCameraCount [get]
string LastEvent [get]
string LastUpdatedText [get]
IReadOnlyList< DashboardCameraItemViewModelCameras [get, private set]

이벤트

EventHandler? StateChanged

Private 멤버 함수

Task PublishAsync (string action, string? cameraId=null)
void RefreshCameras ()
DashboardCameraItemViewModel CreateCameraItem (CameraDevice camera)
void OnDashboardStateChanged (object? sender, HybridStateChangedEventArgs< VmsDashboardState > e)
void OnCameraRuntimeStateChanged (object? sender, CameraRuntimeState e)
void NotifyStateChanged ()

Private 속성

readonly IHybridStateStore< VmsDashboardState_store
readonly IHybridMessageBus _bus
readonly IVmsCameraRepository _repository
readonly ICameraRuntimeStateService _runtimeState
bool _isInitialized

상세한 설명

Blazor Server Dashboard 페이지의 ViewModel입니다.

Dashboard.razor에서 Hybrid State, Message Bus, Camera Repository, Runtime State Service를 직접 참조하지 않도록 분리합니다.

DashboardPageViewModel.cs 파일의 27 번째 라인에서 정의되었습니다.

생성자 & 소멸자 문서화

◆ DashboardPageViewModel()

DreamineVMS.Blazor.ViewModels.DashboardPageViewModel.DashboardPageViewModel ( IHybridStateStore< VmsDashboardState > store,
IHybridMessageBus bus,
IVmsCameraRepository repository,
ICameraRuntimeStateService runtimeState )
inline

DashboardPageViewModel 클래스의 새 인스턴스를 초기화합니다.

매개변수
storeHybrid 상태 저장소입니다.
busHybrid 메시지 버스입니다.
repository카메라 저장소입니다.
runtimeState카메라 런타임 상태 서비스입니다.
예외
ArgumentNullException필수 입력 인자 중 하나가 null인 경우 발생합니다.

DashboardPageViewModel.cs 파일의 123 번째 라인에서 정의되었습니다.

128 {
129 _store = store ?? throw new ArgumentNullException(nameof(store));
130 _bus = bus ?? throw new ArgumentNullException(nameof(bus));
131 _repository = repository ?? throw new ArgumentNullException(nameof(repository));
132 _runtimeState = runtimeState ?? throw new ArgumentNullException(nameof(runtimeState));
133 }

다음을 참조함 : _bus, _repository, _runtimeState, _store.

멤버 함수 문서화

◆ ClearLogsAsync()

Task DreamineVMS.Blazor.ViewModels.DashboardPageViewModel.ClearLogsAsync ( )
inline

WPF Shell 로그 삭제를 요청합니다.

반환값
비동기 작업입니다.

DashboardPageViewModel.cs 파일의 366 번째 라인에서 정의되었습니다.

367 {
368 return PublishAsync(VmsDashboardActions.ClearLogs);
369 }

다음을 참조함 : DreamineVMS.Messages.VmsDashboardActions.ClearLogs, PublishAsync().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ ConnectCameraAsync()

Task DreamineVMS.Blazor.ViewModels.DashboardPageViewModel.ConnectCameraAsync ( string cameraId)
inline

선택한 카메라 연결을 WPF Shell에 요청합니다.

매개변수
cameraId카메라 ID입니다.
반환값
비동기 작업입니다.

DashboardPageViewModel.cs 파일의 274 번째 라인에서 정의되었습니다.

275 {
276 return PublishAsync(VmsDashboardActions.CameraConnect, cameraId);
277 }

다음을 참조함 : DreamineVMS.Messages.VmsDashboardActions.CameraConnect, PublishAsync().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ CreateCameraItem()

DashboardCameraItemViewModel DreamineVMS.Blazor.ViewModels.DashboardPageViewModel.CreateCameraItem ( CameraDevice camera)
inlineprivate

Camera Item 값을 생성합니다.

매개변수
cameracamera에 사용할 CameraDevice 값입니다.
반환값
Create Camera Item 작업에서 생성한 DashboardCameraItemViewModel 결과입니다.

DashboardPageViewModel.cs 파일의 473 번째 라인에서 정의되었습니다.

474 {
475 CameraRuntimeState runtimeState = _runtimeState.GetState(camera.Id);
476
477 return new DashboardCameraItemViewModel(
478 id: camera.Id,
479 name: camera.Name,
480 host: camera.Host,
481 hlsUrl: camera.HlsUrl,
482 displayOrder: camera.DisplayOrder,
483 enabled: camera.Enabled,
484 state: runtimeState.State,
485 lastMessage: runtimeState.LastMessage,
486 lastError: runtimeState.LastError,
487 lastUpdated: runtimeState.LastUpdated,
488 restartCount: runtimeState.RestartCount);
489 }

다음을 참조함 : _runtimeState, DreamineVMS.Models.CameraDevice.DisplayOrder, DreamineVMS.Models.CameraDevice.Enabled, DreamineVMS.Models.CameraDevice.HlsUrl, DreamineVMS.Models.CameraDevice.Host, DreamineVMS.Models.CameraDevice.Id, DreamineVMS.Models.CameraRuntimeState.LastError, DreamineVMS.Models.CameraRuntimeState.LastMessage, DreamineVMS.Models.CameraRuntimeState.LastUpdated, DreamineVMS.Models.CameraDevice.Name, DreamineVMS.Models.CameraRuntimeState.RestartCount, DreamineVMS.Models.CameraRuntimeState.State.

다음에 의해서 참조됨 : RefreshCameras().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ DisconnectCameraAsync()

Task DreamineVMS.Blazor.ViewModels.DashboardPageViewModel.DisconnectCameraAsync ( string cameraId)
inline

선택한 카메라 연결 해제를 WPF Shell에 요청합니다.

매개변수
cameraId카메라 ID입니다.
반환값
비동기 작업입니다.

DashboardPageViewModel.cs 파일의 303 번째 라인에서 정의되었습니다.

304 {
305 return PublishAsync(VmsDashboardActions.CameraDisconnect, cameraId);
306 }

다음을 참조함 : DreamineVMS.Messages.VmsDashboardActions.CameraDisconnect, PublishAsync().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ Dispose()

void DreamineVMS.Blazor.ViewModels.DashboardPageViewModel.Dispose ( )
inline

이 인스턴스가 소유한 리소스를 해제합니다.

DashboardPageViewModel.cs 파일의 420 번째 라인에서 정의되었습니다.

421 {
422 if (!_isInitialized)
423 {
424 return;
425 }
426
427 _store.StateChanged -= OnDashboardStateChanged;
428 _runtimeState.StateChanged -= OnCameraRuntimeStateChanged;
429
430 _isInitialized = false;
431 }

다음을 참조함 : _isInitialized, OnCameraRuntimeStateChanged(), OnDashboardStateChanged().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ Initialize()

void DreamineVMS.Blazor.ViewModels.DashboardPageViewModel.Initialize ( )
inline

ViewModel을 초기화하고 상태 변경 이벤트를 구독합니다.

DashboardPageViewModel.cs 파일의 214 번째 라인에서 정의되었습니다.

215 {
216 if (_isInitialized)
217 {
218 return;
219 }
220
221 RefreshCameras();
222
223 _store.StateChanged += OnDashboardStateChanged;
224 _runtimeState.StateChanged += OnCameraRuntimeStateChanged;
225
226 _isInitialized = true;
227 }

다음을 참조함 : _isInitialized, OnCameraRuntimeStateChanged(), OnDashboardStateChanged(), RefreshCameras().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ NotifyStateChanged()

void DreamineVMS.Blazor.ViewModels.DashboardPageViewModel.NotifyStateChanged ( )
inlineprivate

Notify State Changed 작업을 수행합니다.

DashboardPageViewModel.cs 파일의 560 번째 라인에서 정의되었습니다.

561 {
562 StateChanged?.Invoke(this, EventArgs.Empty);
563 }

다음을 참조함 : StateChanged.

다음에 의해서 참조됨 : OnCameraRuntimeStateChanged(), OnDashboardStateChanged().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ OnCameraRuntimeStateChanged()

void DreamineVMS.Blazor.ViewModels.DashboardPageViewModel.OnCameraRuntimeStateChanged ( object? sender,
CameraRuntimeState e )
inlineprivate

Camera Runtime State Changed 이벤트 또는 상태 변경을 처리합니다.

매개변수
sender이벤트를 발생시킨 객체입니다.
e이벤트와 관련된 데이터를 포함합니다.

DashboardPageViewModel.cs 파일의 546 번째 라인에서 정의되었습니다.

547 {
548 RefreshCameras();
549 NotifyStateChanged();
550 }

다음을 참조함 : NotifyStateChanged(), RefreshCameras().

다음에 의해서 참조됨 : Dispose(), Initialize().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ OnDashboardStateChanged()

void DreamineVMS.Blazor.ViewModels.DashboardPageViewModel.OnDashboardStateChanged ( object? sender,
HybridStateChangedEventArgs< VmsDashboardState > e )
inlineprivate

Dashboard State Changed 이벤트 또는 상태 변경을 처리합니다.

매개변수
sender이벤트를 발생시킨 객체입니다.
e이벤트와 관련된 데이터를 포함합니다.

DashboardPageViewModel.cs 파일의 515 번째 라인에서 정의되었습니다.

518 {
519 NotifyStateChanged();
520 }

다음을 참조함 : NotifyStateChanged().

다음에 의해서 참조됨 : Dispose(), Initialize().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ OpenLiveAsync()

Task DreamineVMS.Blazor.ViewModels.DashboardPageViewModel.OpenLiveAsync ( )
inline

레거시 호환용 Live View 요청입니다. 서버 Dashboard에서는 href="/live" 라우팅을 우선 사용합니다.

반환값
비동기 작업입니다.

DashboardPageViewModel.cs 파일의 245 번째 라인에서 정의되었습니다.

246 {
247 return Task.CompletedTask;
248 }

◆ PublishAsync()

Task DreamineVMS.Blazor.ViewModels.DashboardPageViewModel.PublishAsync ( string action,
string? cameraId = null )
inlineprivate

Publish Async 작업을 수행합니다.

매개변수
actionaction에 사용할 string 값입니다.
cameraIdcamera Id에 사용할 string? 값입니다.
반환값
Publish Async 작업에서 생성한 Task 결과입니다.

DashboardPageViewModel.cs 파일의 403 번째 라인에서 정의되었습니다.

404 {
405 return _bus.PublishAsync(new VmsDashboardActionRequestedMessage
406 {
407 Action = action,
408 CameraId = cameraId
409 });
410 }

다음을 참조함 : _bus.

다음에 의해서 참조됨 : ClearLogsAsync(), ConnectCameraAsync(), DisconnectCameraAsync(), StartAllAsync(), StopAllAsync().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ RefreshCameras()

void DreamineVMS.Blazor.ViewModels.DashboardPageViewModel.RefreshCameras ( )
inlineprivate

Refresh Cameras 작업을 수행합니다.

DashboardPageViewModel.cs 파일의 441 번째 라인에서 정의되었습니다.

442 {
443 Cameras = _repository.GetAll()
444 .OrderBy(camera => camera.DisplayOrder)
445 .Select(CreateCameraItem)
446 .ToArray();
447 }

다음을 참조함 : _repository, Cameras, CreateCameraItem().

다음에 의해서 참조됨 : Initialize(), OnCameraRuntimeStateChanged().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ StartAllAsync()

Task DreamineVMS.Blazor.ViewModels.DashboardPageViewModel.StartAllAsync ( )
inline

전체 카메라 연결을 WPF Shell에 요청합니다.

반환값
비동기 작업입니다.

DashboardPageViewModel.cs 파일의 324 번째 라인에서 정의되었습니다.

325 {
326 return PublishAsync(VmsDashboardActions.CameraStartAll);
327 }

다음을 참조함 : DreamineVMS.Messages.VmsDashboardActions.CameraStartAll, PublishAsync().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ StopAllAsync()

Task DreamineVMS.Blazor.ViewModels.DashboardPageViewModel.StopAllAsync ( )
inline

전체 카메라 연결 해제를 WPF Shell에 요청합니다.

반환값
비동기 작업입니다.

DashboardPageViewModel.cs 파일의 345 번째 라인에서 정의되었습니다.

346 {
347 return PublishAsync(VmsDashboardActions.CameraStopAll);
348 }

다음을 참조함 : DreamineVMS.Messages.VmsDashboardActions.CameraStopAll, PublishAsync().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

멤버 데이터 문서화

◆ _bus

readonly IHybridMessageBus DreamineVMS.Blazor.ViewModels.DashboardPageViewModel._bus
private

bus 값을 보관합니다.

DashboardPageViewModel.cs 파일의 46 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : DashboardPageViewModel(), PublishAsync().

◆ _isInitialized

bool DreamineVMS.Blazor.ViewModels.DashboardPageViewModel._isInitialized
private

is Initialized 값을 보관합니다.

DashboardPageViewModel.cs 파일의 73 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : Dispose(), Initialize().

◆ _repository

readonly IVmsCameraRepository DreamineVMS.Blazor.ViewModels.DashboardPageViewModel._repository
private

repository 값을 보관합니다.

DashboardPageViewModel.cs 파일의 55 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : DashboardPageViewModel(), RefreshCameras().

◆ _runtimeState

readonly ICameraRuntimeStateService DreamineVMS.Blazor.ViewModels.DashboardPageViewModel._runtimeState
private

runtime State 값을 보관합니다.

DashboardPageViewModel.cs 파일의 64 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : CreateCameraItem(), DashboardPageViewModel().

◆ _store

readonly IHybridStateStore<VmsDashboardState> DreamineVMS.Blazor.ViewModels.DashboardPageViewModel._store
private

store 값을 보관합니다.

DashboardPageViewModel.cs 파일의 37 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : DashboardPageViewModel().

속성 문서화

◆ Cameras

IReadOnlyList<DashboardCameraItemViewModel> DreamineVMS.Blazor.ViewModels.DashboardPageViewModel.Cameras
getprivate set

화면에 표시할 카메라 목록입니다.

DashboardPageViewModel.cs 파일의 203 번째 라인에서 정의되었습니다.

203{ get; private set; }

다음에 의해서 참조됨 : RefreshCameras().

◆ ConnectedCameraCount

int DreamineVMS.Blazor.ViewModels.DashboardPageViewModel.ConnectedCameraCount
get

연결된 카메라 수입니다.

DashboardPageViewModel.cs 파일의 163 번째 라인에서 정의되었습니다.

◆ LastEvent

string DreamineVMS.Blazor.ViewModels.DashboardPageViewModel.LastEvent
get

마지막 이벤트 메시지입니다.

DashboardPageViewModel.cs 파일의 183 번째 라인에서 정의되었습니다.

◆ LastUpdatedText

string DreamineVMS.Blazor.ViewModels.DashboardPageViewModel.LastUpdatedText
get

마지막 갱신 시각 표시 문자열입니다.

DashboardPageViewModel.cs 파일의 193 번째 라인에서 정의되었습니다.

◆ RecordingCameraCount

int DreamineVMS.Blazor.ViewModels.DashboardPageViewModel.RecordingCameraCount
get

녹화 중인 카메라 수입니다.

DashboardPageViewModel.cs 파일의 173 번째 라인에서 정의되었습니다.

◆ TotalCameraCount

int DreamineVMS.Blazor.ViewModels.DashboardPageViewModel.TotalCameraCount
get

전체 카메라 수입니다.

DashboardPageViewModel.cs 파일의 153 번째 라인에서 정의되었습니다.

이벤트 문서화

◆ StateChanged

EventHandler? DreamineVMS.Blazor.ViewModels.DashboardPageViewModel.StateChanged

ViewModel 상태 변경 이벤트입니다.

DashboardPageViewModel.cs 파일의 143 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : NotifyStateChanged().


이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.: