blob: 8957d0263b40f343e25e42d377a5ce88f6e80f31 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
namespace Tmate
{
[SingleInstance]
class Config : Object
{
private static HashTable<string, string> cfg;
construct {
cfg = new HashTable<string, string>(str_hash, str_equal);
cfg.insert("server-host", "tty.dev.jadupc.com");
cfg.insert("server-port", "10022");
cfg.insert("server-rsa-fingerprint", "SHA256:QdMBN/QsrS4QyGApxxjt3DZyiysgeRto5YGGjAHRO7g");
cfg.insert("server-ed25519-fingerprint", "SHA256:w/TRuOK0w5qDXNBKdlYlANgZwq3Xg5LSZlBYIwEH8gU");
}
public void @delete(string? path)
{
if (path == null) return;
var fcfg = File.new_for_path(path);
try {
fcfg.delete();
} catch (Error e) {
print(@"Error: $(e.message)\n");
}
}
public new string? @get()
{
bool failed = false;
string cfgpath = "..";
try {
FileIOStream scfg;
var fcfg = File.new_tmp(".tmate.conf.XXXXXXXXX", out scfg);
var cfgout = new DataOutputStream(scfg.output_stream);
cfgpath = fcfg.get_path();
cfg.foreach((key, val) => {
try {
if(! failed)
cfgout.put_string(@"set -g tmate-$(key) $(val)\n");
} catch (Error m) {
print(@"Error: $(m.message)\n");
failed = true;
}
});
} catch (Error e) {
print(@"Error: $(e.message)\n");
failed = true;
}
return failed ? null : cfgpath;
}
}
}
|