|
DreamineVMS 1.0.0.0
Windows PC의 RTSP·USB 카메라 영상을 HLS로 변환해 원격 CCTV Viewer에 전달하는 데스크톱 에이전트입니다.
|


클래스 | |
| class | JsonCam |
Public 멤버 함수 | |
| SqliteCameraRepository (VmsDatabase db) | |
| IReadOnlyList< CameraDevice > | GetAll () |
| IReadOnlyList< CameraDevice > | GetByTenant (string tenantId) |
| async Task< CameraDevice > | AddAsync (CameraDevice camera) |
| async Task | UpdateAsync (CameraDevice camera) |
| async Task | DeleteAsync (string id) |
이벤트 | |
| EventHandler< CameraRepositoryChangedEventArgs >? | Changed |
| DreamineVMS.Services.Cameras.IVmsCameraRepository(으)로부터 상속된 이벤트 | |
| EventHandler< CameraRepositoryChangedEventArgs >? | Changed |
Private 멤버 함수 | |
| List< CameraDevice > | LoadAll () |
| void | MigrateFromJson () |
정적 Private 멤버 함수 | |
| static void | BindCamera (SqliteCommand cmd, CameraDevice c) |
| static CameraDevice | ReadCamera (SqliteDataReader r) |
Private 속성 | |
| readonly VmsDatabase | _db |
| readonly SemaphoreSlim | _lock = new(1, 1) |
| List< CameraDevice > | _cache |
SQLite 기반 멀티테넌트 카메라 저장소입니다.
SqliteCameraRepository.cs 파일의 16 번째 라인에서 정의되었습니다.
|
inline |
지정한 설정으로 SqliteCameraRepository 클래스의 새 인스턴스를 초기화합니다.
| db | db에 사용할 VmsDatabase 값입니다. |
SqliteCameraRepository.cs 파일의 72 번째 라인에서 정의되었습니다.
다음을 참조함 : _cache, _db, LoadAll(), MigrateFromJson().

|
inline |
Async 항목을 추가합니다.
| camera | camera에 사용할 CameraDevice 값입니다. |
Task<CameraDevice> 결과입니다.DreamineVMS.Services.Cameras.IVmsCameraRepository를 구현.
SqliteCameraRepository.cs 파일의 148 번째 라인에서 정의되었습니다.
다음을 참조함 : _cache, _db, _lock, BindCamera(), Changed, DreamineVMS.Models.CameraDevice.Id, LoadAll().

|
inlinestaticprivate |
Bind Camera 작업을 수행합니다.
| cmd | cmd에 사용할 SqliteCommand 값입니다. |
| c | c에 사용할 CameraDevice 값입니다. |
SqliteCameraRepository.cs 파일의 319 번째 라인에서 정의되었습니다.
다음을 참조함 : DreamineVMS.Models.CameraDevice.AutoReconnect, DreamineVMS.Models.CameraDevice.DisplayOrder, DreamineVMS.Models.CameraDevice.Enabled, DreamineVMS.Models.CameraDevice.Host, DreamineVMS.Models.CameraDevice.Id, DreamineVMS.Models.CameraDevice.IsPublic, DreamineVMS.Models.CameraDevice.Name, DreamineVMS.Models.CameraDevice.RtspUrl, DreamineVMS.Models.CameraDevice.TenantId.
다음에 의해서 참조됨 : AddAsync(), UpdateAsync().

|
inline |
Delete Async 작업을 수행합니다.
| id | id에 사용할 string 값입니다. |
Task 결과입니다.DreamineVMS.Services.Cameras.IVmsCameraRepository를 구현.
SqliteCameraRepository.cs 파일의 245 번째 라인에서 정의되었습니다.
다음을 참조함 : _cache, _db, _lock, Changed, DreamineVMS.Services.Cameras.Deleted, LoadAll().

|
inline |
All 값을 가져옵니다.
IReadOnlyList<CameraDevice> 결과입니다.DreamineVMS.Services.Cameras.IVmsCameraRepository를 구현.
SqliteCameraRepository.cs 파일의 95 번째 라인에서 정의되었습니다.
다음을 참조함 : _cache.
|
inline |
By Tenant 값을 가져옵니다.
| tenantId | tenant Id에 사용할 string 값입니다. |
IReadOnlyList<CameraDevice> 결과입니다.SqliteCameraRepository.cs 파일의 121 번째 라인에서 정의되었습니다.
다음을 참조함 : _cache.
|
inlineprivate |
All 데이터를 불러옵니다.
List<CameraDevice> 결과입니다.SqliteCameraRepository.cs 파일의 283 번째 라인에서 정의되었습니다.
다음을 참조함 : _db, ReadCamera().
다음에 의해서 참조됨 : AddAsync(), DeleteAsync(), MigrateFromJson(), SqliteCameraRepository(), UpdateAsync().


|
inlineprivate |
cameras.json이 있으면 SQLite로 마이그레이션합니다.
SqliteCameraRepository.cs 파일의 377 번째 라인에서 정의되었습니다.
다음을 참조함 : _cache, _db, LoadAll().
다음에 의해서 참조됨 : SqliteCameraRepository().


|
inlinestaticprivate |
Camera 데이터를 읽습니다.
| r | r에 사용할 SqliteDataReader 값입니다. |
CameraDevice 결과입니다.SqliteCameraRepository.cs 파일의 356 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : LoadAll().

|
inline |
Update Async 작업을 수행합니다.
| camera | camera에 사용할 CameraDevice 값입니다. |
Task 결과입니다.DreamineVMS.Services.Cameras.IVmsCameraRepository를 구현.
SqliteCameraRepository.cs 파일의 196 번째 라인에서 정의되었습니다.
다음을 참조함 : _cache, _db, _lock, BindCamera(), Changed, DreamineVMS.Models.CameraDevice.Id, LoadAll().

|
private |
cache 값을 보관합니다.
SqliteCameraRepository.cs 파일의 44 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : AddAsync(), DeleteAsync(), GetAll(), GetByTenant(), MigrateFromJson(), SqliteCameraRepository(), UpdateAsync().
|
private |
db 값을 보관합니다.
SqliteCameraRepository.cs 파일의 26 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : AddAsync(), DeleteAsync(), LoadAll(), MigrateFromJson(), SqliteCameraRepository(), UpdateAsync().
|
private |
lock 값을 보관합니다.
SqliteCameraRepository.cs 파일의 35 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : AddAsync(), DeleteAsync(), UpdateAsync().
| EventHandler<CameraRepositoryChangedEventArgs>? DreamineVMS.Services.Cameras.SqliteCameraRepository.Changed |
Changed 상황이 발생할 때 알립니다.
SqliteCameraRepository.cs 파일의 54 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : AddAsync(), DeleteAsync(), UpdateAsync().