Skip to content

Commit 52d2870

Browse files
authored
websocket-client: Fixes and improvements to Vala code (#83)
Which include: * Using C-style casting instead of `as` keyword * Use snake_case to name methods * Use string formatting for messages * Use properties instead of their setter/getter methods
1 parent e4e2034 commit 52d2870

File tree

1 file changed

+30
-29
lines changed

1 file changed

+30
-29
lines changed

demos/WebSocket Client/main.vala

+30-29
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,16 @@
22

33
private Gtk.Button button_connect;
44
private Gtk.Button button_disconnect;
5+
private Gtk.Entry entry_url;
56
private Gtk.Button button_send;
67
private Soup.WebsocketConnection connection;
78

89
public void main () {
9-
button_connect = workbench.builder.get_object ("button_connect") as Gtk.Button;
10-
button_disconnect = workbench.builder.get_object ("button_disconnect") as Gtk.Button;
11-
button_send = workbench.builder.get_object ("button_send") as Gtk.Button;
12-
var entry_message = workbench.builder.get_object ("entry_message") as Gtk.Entry;
10+
entry_url = (Gtk.Entry) workbench.builder.get_object ("entry_url");
11+
button_connect = (Gtk.Button) workbench.builder.get_object ("button_connect");
12+
button_disconnect = (Gtk.Button) workbench.builder.get_object ("button_disconnect");
13+
button_send = (Gtk.Button) workbench.builder.get_object ("button_send");
14+
var entry_message = (Gtk.Entry) workbench.builder.get_object ("entry_message");
1315

1416
button_connect.clicked.connect (connect.begin);
1517

@@ -18,16 +20,13 @@ public void main () {
1820
});
1921

2022
button_send.clicked.connect (() => {
21-
var text = entry_message.get_text ();
22-
send (text);
23+
send (entry_message.text);
2324
});
2425
}
2526

2627
private async void connect () {
27-
var entry_url = workbench.builder.get_object ("entry_url") as Gtk.Entry;
28-
2928
try {
30-
var uri = GLib.Uri.parse (entry_url.get_text (), GLib.UriFlags.NONE).to_string ();
29+
string uri = GLib.Uri.parse (entry_url.text, NONE).to_string ();
3130
var session = new Soup.Session ();
3231
var message = new Soup.Message ("GET", uri);
3332

@@ -38,44 +37,46 @@ private async void connect () {
3837
1,
3938
null);
4039
} catch (Error err) {
41-
stderr.printf ("error: " + err.message + "\n");
40+
stderr.printf (@"Error : $(err.message)\n");
4241
return;
4342
}
4443

45-
connection.closed.connect (onClosed);
46-
connection.error.connect (onError);
47-
connection.message.connect (onMessage);
44+
connection.closed.connect (on_closed);
45+
connection.error.connect (on_error);
46+
connection.message.connect (on_message);
4847

49-
onOpen ();
48+
on_open ();
5049
}
5150

52-
private void onOpen () {
51+
private void on_open () {
5352
stdout.printf ("open\n");
54-
button_connect.set_sensitive (false);
55-
button_disconnect.set_sensitive (true);
56-
button_send.set_sensitive (true);
53+
button_connect.sensitive = false;
54+
button_disconnect.sensitive = true;
55+
button_send.sensitive = true;
5756
}
5857

59-
private void onClosed () {
58+
private void on_closed () {
6059
stdout.printf ("closed\n");
6160
connection = null;
62-
button_connect.set_sensitive (true);
63-
button_disconnect.set_sensitive (false);
64-
button_send.set_sensitive (false);
61+
button_connect.sensitive = true;
62+
button_disconnect.sensitive = false;
63+
button_send.sensitive = false;
6564
}
6665

67-
private void onError (Error err) {
68-
stdout.printf ("error\n");
69-
stderr.printf (err.message);
66+
private void on_error (Error err) {
67+
stderr.printf (@"Error: $(err.message)\n");
7068
}
7169

72-
private void onMessage (int type, Bytes message) {
73-
if (type != Soup.WebsocketDataType.TEXT)return;
70+
private void on_message (int type, Bytes message) {
71+
if (type != Soup.WebsocketDataType.TEXT) {
72+
return;
73+
}
74+
7475
string text = (string) message.get_data ();
75-
stdout.printf ("received: " + text + "\n");
76+
print (@"Received: $text\n");
7677
}
7778

7879
private void send (string text) {
79-
stdout.printf ("sent: " + text + "\n");
80+
print (@"Sent: $text\n");
8081
connection.send_text (text);
8182
}

0 commit comments

Comments
 (0)