#pragma once // ── Uzak politika istemcisi (indir + önbellek + uygula) ────────────────────── // Satıcının imzaladığı politika dosyasını (bkz. fiko/cekirdek/lisans_uzak.hpp) // WinHTTP ile çeker, imzasını doğrular, %ProgramData%\FikoCAD\lisans_uzak.pol // önbelleğine yazar ve lisans yükleme akışına karar verir. // // Akış: // açılış → uzakPolitikaBaslat(): önbelleği yükle (senkron) + arka plan çekme // kare → uzakPolitikaPompa(): bekleyen yeniden değerlendirmeyi UI iş parçacığında // uygular (LisansSistemi ImGui-değil ama tek iş parçacığı sözleşmeli); // 6 saatte bir sessiz yeniden denetim başlatır // yükleme→ lisansYukleVeUygula() her geçerli lisansın serisini // uzakSeriEngelliMi()'ye sorar; engelliyse UzaktanEngellendi // // Çevrimdışı davranış: önbellek İMZALI olduğu için elle düzenlenemez → son bilinen // karar süresiz geçerlidir (kalıcı kill-switch). Hiç önbellek yoksa (makine hiç // denetlenmemişse) karar Belirsiz'dir → fail-open (yanlış pozitif kilitleme yok). #include #include #include "fiko/cekirdek/lisans_uzak.hpp" namespace fiko { class LisansSistemi; // Açılışta BİR KEZ: önbelleği oku + URL doluysa arka plan denetimi başlat. // lisansYukleVeUygula() ilk çağrısında kendiliğinden yapar; ayrıca çağırmaya gerek yok. void uzakPolitikaBaslat(); // Ana döngüde KARE BAŞINA (belge_penceresi.cpp, lisansBanneriCiz yanı): bekleyen // politika güncellemesini uygular (lisansı yeniden yükler) + periyodik denetimi tetikler. void uzakPolitikaPompa(); // Aktif politikanın KOPYASI (yoksa nullptr). İş parçacığı güvenli: arka plan // denetimi yeni sürüm geldiğinde göstergiyi değiştirir; eski kopyalar shared_ptr // sayesinde yaşar. Karar fonksiyonu (uzakSeriEngelliMi) her yerden güvenlidir. std::shared_ptr uzakPolitikaAktif(); // Seri uzak politikayla ENGELLİ mi? Politika yoksa / seri boşsa false (Belirsiz → izinli). bool uzakSeriEngelliMi(const std::string& seri); // Durum satırı ("Uzak politika: v3, engelli listesi, son denetleme 12.08 14:20"). std::string uzakPolitikaOzet(); // Ayarlar/Komut Denetim paneli bölümü: durum + URL ayarı + "Şimdi denetle". // ImGui bağlamı içinde çağrılmalı. void uzakPolitikaAyarBolumu(); // Şimdi ağdan denetle (arka plan iş parçacığında; mevcut denetim varsa yok sayar). void uzakPolitikaDenetle(); } // namespace fiko