Codemaru 1.0.0.0
QR 코드, 모바일 랜딩 페이지, vCard 연락처 저장과 명함 디자인을 한 화면에서 제공하는 디지털 명함 서비스입니다.
로딩중...
검색중...
일치하는것 없음
Codemaru.Services.CardHybridSession 클래스 참조sealed

더 자세히 ...

Codemaru.Services.CardHybridSession에 대한 협력 다이어그램:

Public 멤버 함수

 CardHybridSession (IQrSvgGenerator qr, ICardProfileStore _)
Task InitializeAsync (CancellationToken cancellationToken=default)

속성

CardHybridState State [get]
CardHybridUser CurrentUser [get]

이벤트

EventHandler< CardHybridState >? StateChanged

Private 멤버 함수

void NotifyStateChanged ()

Private 속성

readonly object _sync = new()
readonly IQrSvgGenerator _qr
CardHybridState? _state

상세한 설명

WPF 프로세스 전역에서 공유하는 CardHybrid 상태 뷰입니다.

실제 사용자별 편집 상태는 CardHybridCircuitSession (Blazor Circuit 별) 가 관리합니다. 이 싱글턴은 WPF 메인 창의 상태 요약 표시용 뷰이며 인증을 처리하지 않습니다.

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

생성자 & 소멸자 문서화

◆ CardHybridSession()

Codemaru.Services.CardHybridSession.CardHybridSession ( IQrSvgGenerator qr,
ICardProfileStore _ )
inline

지정한 설정으로 CardHybridSession 클래스의 새 인스턴스를 초기화합니다.

매개변수
qrqr에 사용할 IQrSvgGenerator 값입니다.
_에 사용할 ICardProfileStore 값입니다.
예외
ArgumentNullException필수 입력 인자 중 하나가 null인 경우 발생합니다.

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

87 {
88 _qr = qr ?? throw new ArgumentNullException(nameof(qr));
89 }

다음을 참조함 : _qr.

멤버 함수 문서화

◆ InitializeAsync()

Task Codemaru.Services.CardHybridSession.InitializeAsync ( CancellationToken cancellationToken = default)
inline

시작 시 기본 상태를 준비합니다. App.OnStartup 에서 1회 호출합니다.

매개변수
cancellationToken취소 요청을 감시하는 토큰입니다.
반환값
Initialize Async 작업에서 생성한 Task 결과입니다.

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

147 {
148 lock (_sync)
149 {
150 if (_state is not null)
151 {
152 return Task.CompletedTask;
153 }
154
155 _state = CardHybridState.CreateDefault(_qr.CreateSvg(CardProfile.Default.LandingUrl));
156 }
157
158 NotifyStateChanged();
159 return Task.CompletedTask;
160 }
record CardProfile(string Brand, string Tagline, string BackBrand, string BackTagline, string Category, string Name, string Role, string Email, string Phone, string Address, string Website, string LandingSlug, string AccentColor, string ShortBio, string LandingDescription, string VCardNote, string InternalMemo, string? LogoImageDataUrl, bool RemoveLogoBackground, double CardWidthMm, double CardHeightMm, string FrontFontFamily, string BackFontFamily, double FrontBrandFontSize, double FrontTaglineFontSize, double FrontCategoryFontSize, double FrontEmailFontSize, double BackBrandFontSize, double BackTaglineFontSize, double BackNameFontSize, double BackRoleFontSize, string LandingTheme, bool IncludePhoneInVCard, bool IncludeAddressInVCard, string? ImportedFrontImageDataUrl, string? ImportedBackImageDataUrl)

다음을 참조함 : _qr, _state, _sync, Codemaru.Models.CardProfile(), NotifyStateChanged().

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

◆ NotifyStateChanged()

void Codemaru.Services.CardHybridSession.NotifyStateChanged ( )
inlineprivate

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

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

171 {
172 var handlers = StateChanged?.GetInvocationList();
173 if (handlers is null)
174 {
175 return;
176 }
177
178 foreach (var handler in handlers)
179 {
180 try
181 {
182 ((EventHandler<CardHybridState>)handler).Invoke(this, State);
183 }
184 catch (Exception ex)
185 {
186 Debug.WriteLine($"CardHybrid state handler failed: {ex}");
187 }
188 }
189 }

다음을 참조함 : State, StateChanged.

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

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

멤버 데이터 문서화

◆ _qr

readonly IQrSvgGenerator Codemaru.Services.CardHybridSession._qr
private

qr 값을 보관합니다.

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

다음에 의해서 참조됨 : CardHybridSession(), InitializeAsync().

◆ _state

CardHybridState? Codemaru.Services.CardHybridSession._state
private

state 값을 보관합니다.

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

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

◆ _sync

readonly object Codemaru.Services.CardHybridSession._sync = new()
private

sync 값을 보관합니다.

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

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

속성 문서화

◆ CurrentUser

CardHybridUser Codemaru.Services.CardHybridSession.CurrentUser
get

WPF 표시용 참조 사용자입니다. 현재는 항상 CardHybridUser.Guest.

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

◆ State

CardHybridState Codemaru.Services.CardHybridSession.State
get

State 값을 가져옵니다.

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

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

이벤트 문서화

◆ StateChanged

EventHandler<CardHybridState>? Codemaru.Services.CardHybridSession.StateChanged

State Changed 상황이 발생할 때 알립니다.

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

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


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