git » sdk » commit 892228f

Hide internal methods with @:allow(snikket) private

author Stephen Paul Weber
2024-03-05 20:28:16 UTC
committer Stephen Paul Weber
2024-03-05 20:28:16 UTC
parent 36bca44c2c1a598152c08354863d08c9c53e0ab0

Hide internal methods with @:allow(snikket) private

snikket/Chat.hx +9 -9
snikket/ChatMessage.hx +20 -20
snikket/Client.hx +41 -37

diff --git a/snikket/Chat.hx b/snikket/Chat.hx
index 48fda70..27df3b6 100644
--- a/snikket/Chat.hx
+++ b/snikket/Chat.hx
@@ -27,8 +27,8 @@ abstract class Chat {
 	private var client:Client;
 	private var stream:GenericStream;
 	private var persistence:Persistence;
-	@HaxeCBridge.noemit
-	public var avatarSha1:Null<BytesData> = null;
+	@:allow(snikket)
+	private var avatarSha1:Null<BytesData> = null;
 	private var presence:Map<String, Presence> = [];
 	private var trusted:Bool = false;
 	public var chatId(default, null):String;
@@ -40,8 +40,8 @@ abstract class Chat {
 	private var _unreadCount = 0;
 	private var lastMessage: Null<ChatMessage>;
 
-	@HaxeCBridge.noemit
-	public function new(client:Client, stream:GenericStream, persistence:Persistence, chatId:String, uiState:Dynamic = Open, extensions: Null<Stanza> = null) {
+	@:allow(snikket)
+	private function new(client:Client, stream:GenericStream, persistence:Persistence, chatId:String, uiState:Dynamic = Open, extensions: Null<Stanza> = null) {
 		this.client = client;
 		this.stream = stream;
 		this.persistence = persistence;
@@ -161,8 +161,8 @@ abstract class Chat {
 		return presence[resource]?.caps ?? new Caps("", [], []);
 	}
 
-	@HaxeCBridge.noemit
-	public function setAvatarSha1(sha1: BytesData) {
+	@:allow(snikket)
+	private function setAvatarSha1(sha1: BytesData) {
 		this.avatarSha1 = sha1;
 	}
 
@@ -264,12 +264,12 @@ abstract class Chat {
 @:expose
 @:build(HaxeCBridge.expose())
 class DirectChat extends Chat {
-	@HaxeCBridge.noemit
+	@HaxeCBridge.noemit // on superclass as abstract
 	public function getParticipants(): Array<String> {
 		return chatId.split("\n");
 	}
 
-	@HaxeCBridge.noemit
+	@HaxeCBridge.noemit // on superclass as abstract
 	public function getParticipantDetails(participantId:String, callback:({photoUri:String, displayName:String})->Void) {
 		final chat = client.getDirectChat(participantId);
 		chat.getPhoto((photoUri) -> callback({ photoUri: photoUri, displayName: chat.getDisplayName() }));
@@ -338,7 +338,7 @@ class DirectChat extends Chat {
 		});
 	}
 
-	@HaxeCBridge.noemit
+	@HaxeCBridge.noemit // on superclass as abstract
 	public function sendMessage(message:ChatMessage):Void {
 		client.chatActivity(this);
 		message = prepareOutgoingMessage(message);
diff --git a/snikket/ChatMessage.hx b/snikket/ChatMessage.hx
index 63b9bd1..6a1c0db 100644
--- a/snikket/ChatMessage.hx
+++ b/snikket/ChatMessage.hx
@@ -36,21 +36,21 @@ class ChatMessage {
 	public var localId (default, set) : Null<String> = null;
 	public var serverId (default, set) : Null<String> = null;
 	public var serverIdBy : Null<String> = null;
-	@HaxeCBridge.noemit
-	public var syncPoint : Bool = false;
+	@:allow(snikket)
+	private var syncPoint : Bool = false;
 
 	public var timestamp (default, set) : Null<String> = null;
 
-	@HaxeCBridge.noemit
-	public var to: Null<JID> = null;
-	@HaxeCBridge.noemit
-	public var from: Null<JID> = null;
-	@HaxeCBridge.noemit
-	public var sender: Null<JID> = null;
-	@HaxeCBridge.noemit
-	public var recipients: Array<JID> = [];
-	@HaxeCBridge.noemit
-	public var replyTo: Array<JID> = [];
+	@:allow(snikket)
+	private var to: Null<JID> = null;
+	@:allow(snikket)
+	private var from: Null<JID> = null;
+	@:allow(snikket)
+	private var sender: Null<JID> = null;
+	@:allow(snikket)
+	private var recipients: Array<JID> = [];
+	@:allow(snikket)
+	private var replyTo: Array<JID> = [];
 
 	public var replyToMessage: Null<ChatMessage> = null;
 	public var threadId: Null<String> = null;
@@ -69,8 +69,8 @@ class ChatMessage {
 	public var status: MessageStatus = MessagePending;
 	@HaxeCBridge.noemit
 	public var versions: Array<ChatMessage> = [];
-	@HaxeCBridge.noemit
-	public var payloads: Array<Stanza> = [];
+	@:allow(snikket)
+	private var payloads: Array<Stanza> = [];
 
 	public function new() { }
 
@@ -78,8 +78,8 @@ class ChatMessage {
 		text = t;
 	}
 
-	@HaxeCBridge.noemit
-	public static function fromStanza(stanza:Stanza, localJid:JID):Null<ChatMessage> {
+	@:allow(snikket)
+	private static function fromStanza(stanza:Stanza, localJid:JID):Null<ChatMessage> {
 		switch Message.fromStanza(stanza, localJid) {
 			case ChatMessageStanza(message):
 				return message;
@@ -88,8 +88,8 @@ class ChatMessage {
 		}
 	}
 
-	@HaxeCBridge.noemit
-	public function attachSims(sims: Stanza) {
+	@:allow(snikket)
+	private function attachSims(sims: Stanza) {
 		var mime = sims.findText("{urn:xmpp:jingle:apps:file-transfer:5}/media-type#");
 		if (mime == null) mime = sims.findText("{urn:xmpp:jingle:apps:file-transfer:3}/media-type#");
 		if (mime == null) mime = "application/octet-stream";
@@ -168,8 +168,8 @@ class ChatMessage {
 		return threadId == null ? null : Identicon.svg(threadId);
 	}
 
-	@HaxeCBridge.noemit
-	public function asStanza():Stanza {
+	@:allow(snikket)
+	private function asStanza():Stanza {
 		var body = text;
 		var attrs: haxe.DynamicAccess<String> = { type: isGroupchat ? "groupchat" : "chat" };
 		if (from != null) attrs.set("from", from.asString());
diff --git a/snikket/Client.hx b/snikket/Client.hx
index 764da42..89c687e 100644
--- a/snikket/Client.hx
+++ b/snikket/Client.hx
@@ -712,38 +712,6 @@ class Client extends EventEmitter {
 		}
 	}
 
-	public function chatActivity(chat: Chat, trigger = true) {
-		if (chat.uiState == Closed) {
-			chat.uiState = Open;
-			persistence.storeChat(accountId(), chat);
-		}
-		var idx = chats.indexOf(chat);
-		if (idx > 0) {
-			chats.splice(idx, 1);
-			chats.unshift(chat);
-			if (trigger) this.trigger("chats/update", [chat]);
-		}
-	}
-
-	/* Internal-ish methods */
-	public function sendQuery(query:GenericQuery) {
-		this.stream.sendIq(query.getQueryStanza(), query.handleResponse);
-	}
-
-	public function sendStanza(stanza:Stanza) {
-		if (stanza.attr.get("id") == null) stanza.attr.set("id", ID.long());
-		stream.sendStanza(stanza);
-	}
-
-	public function sendPresence(?to: String, ?augment: (Stanza)->Stanza) {
-		sendStanza(
-			(augment ?? (s)->s)(
-				caps.addC(new Stanza("presence", to == null ? {} : { to: to }))
-					.textTag("nick", displayName(), { xmlns: "http://jabber.org/protocol/nick" })
-			)
-		);
-	}
-
 	#if js
 	public function subscribePush(reg: js.html.ServiceWorkerRegistration, push_service: String, vapid_key: { publicKey: js.html.CryptoKey, privateKey: js.html.CryptoKey}) {
 		js.Browser.window.crypto.subtle.exportKey("raw", vapid_key.publicKey).then((vapid_public_raw) -> {
@@ -778,8 +746,43 @@ class Client extends EventEmitter {
 	}
 	#end
 
-	@HaxeCBridge.noemit
-	public function getIceServers(callback: (Array<IceServer>)->Void) {
+	@:allow(snikket)
+	private function chatActivity(chat: Chat, trigger = true) {
+		if (chat.uiState == Closed) {
+			chat.uiState = Open;
+			persistence.storeChat(accountId(), chat);
+		}
+		var idx = chats.indexOf(chat);
+		if (idx > 0) {
+			chats.splice(idx, 1);
+			chats.unshift(chat);
+			if (trigger) this.trigger("chats/update", [chat]);
+		}
+	}
+
+	@:allow(snikket)
+	private function sendQuery(query:GenericQuery) {
+		this.stream.sendIq(query.getQueryStanza(), query.handleResponse);
+	}
+
+	@:allow(snikket)
+	private function sendStanza(stanza:Stanza) {
+		if (stanza.attr.get("id") == null) stanza.attr.set("id", ID.long());
+		stream.sendStanza(stanza);
+	}
+
+	@:allow(snikket)
+	private function sendPresence(?to: String, ?augment: (Stanza)->Stanza) {
+		sendStanza(
+			(augment ?? (s)->s)(
+				caps.addC(new Stanza("presence", to == null ? {} : { to: to }))
+					.textTag("nick", displayName(), { xmlns: "http://jabber.org/protocol/nick" })
+			)
+		);
+	}
+
+	@:allow(snikket)
+	private function getIceServers(callback: (Array<IceServer>)->Void) {
 		final extDiscoGet = new ExtDiscoGet(jid.domain);
 		extDiscoGet.onFinished(() -> {
 			final servers = [];
@@ -801,8 +804,8 @@ class Client extends EventEmitter {
 		sendQuery(extDiscoGet);
 	}
 
-	@HaxeCBridge.noemit
-	public function discoverServices(target: JID, ?node: String, callback: ({ jid: JID, name: Null<String>, node: Null<String> }, Caps)->Void) {
+	@:allow(snikket)
+	private function discoverServices(target: JID, ?node: String, callback: ({ jid: JID, name: Null<String>, node: Null<String> }, Caps)->Void) {
 		final itemsGet = new DiscoItemsGet(target.asString(), node);
 		itemsGet.onFinished(()-> {
 			for (item in itemsGet.getResult() ?? []) {
@@ -816,7 +819,8 @@ class Client extends EventEmitter {
 		sendQuery(itemsGet);
 	}
 
-	public function notifyMessageHandlers(message: ChatMessage) {
+	@:allow(snikket)
+	private function notifyMessageHandlers(message: ChatMessage) {
 		for (handler in chatMessageHandlers) {
 			handler(message);
 		}