package main

// Acilista otomatik baslatma. Yalnizca su uc kosulun HEPSI saglaninca calisir:
//   1. Eklenti imzali v2 manifestinde acilis=true ile kurulmus (imza kurulumda dogrulandi).
//   2. Kullanici kurulumda "acilista baslasin" seceneğini ayrica onaylamis (kurulu kaydi: acilista).
//   3. Eklenti etkin (devre disi degil).
// Bu yol her acilista PC'de ayrica onay istemez; onay kurulum aninda alinmistir.
// Eklenti yolu yine eklentiYoluGecerliMi ile dogrulanir.

func acilisiBaslat() {
	for _, k := range kuruluAcilistaListesi() {
		yol, err := kuruluEklentiYolu(k.Anahtar)
		if err != nil {
			olayLog("acilis baslatma atlandi (dosya yok): %s: %v", k.Anahtar, err)
			continue
		}
		if err := eklentiYoluGecerliMi(yol); err != nil {
			olayLog("acilis baslatma atlandi (yol gecersiz): %s", k.Anahtar)
			continue
		}
		if ekSurecCalisiyor(k.Anahtar) {
			continue
		}
		// Protokol 2 (ekOturum) denenir; el sikismasi basarisizsa eski satir JSON surecine duser.
		if err := ekSurecBaslat(k.Anahtar, yol); err != nil {
			olayLog("acilis baslatma basarisiz: %s: %v", k.Anahtar, err)
			continue
		}
		if ayar := kayitliAyar(k.Anahtar); ayar != nil {
			_ = ekSurecAyar(k.Anahtar, ayar)
		}
		olayLog("eklenti acilista baslatildi: %s %s", k.Anahtar, k.Surum)
	}
	eklentiDurumGonder()
}
