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.
// Etkin olan her hesap icin ayri ayri calisir (coklu hesap).

func acilisiBaslat() {
	for _, profil := range etkinHesaplar() {
		if err := kuruluYukleProfil(profil); err != nil {
			olayLog("acilis: kurulu liste okunamadi: %s: %v", profil, err)
			continue
		}
		for _, k := range kuruluAcilistaListesiProfil(profil) {
			yol, err := kuruluEklentiYoluProfil(profil, 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 ekSurecCalisiyorProfil(profil, k.Anahtar) {
				continue
			}
			// Protokol 2 (ekOturum) denenir; el sikismasi basarisizsa eski satir JSON surecine duser.
			if err := ekSurecBaslatProfil(profil, k.Anahtar, yol); err != nil {
				olayLog("acilis baslatma basarisiz: %s: %v", k.Anahtar, err)
				continue
			}
			if ayar := kayitliAyarProfil(profil, k.Anahtar); ayar != nil {
				_ = ekSurecAyarProfil(profil, k.Anahtar, ayar)
			}
			olayLog("eklenti acilista baslatildi: %s %s", k.Anahtar, k.Surum)
		}
	}
	eklentiDurumGonder()
}
