aboutsummaryrefslogtreecommitdiff
path: root/src/org.ArcticaProject.RemoteLogon.xml
blob: 41016e8c0be21ef55d3b5d3b149077e1b67c4f4d (plain)
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<?xml version="1.0"?>
<node name="/">
	<interface name="org.ArcticaProject.RemoteLogon">
		<!-- SERVER LIST DOCS - it's in a few places :-)
			s: server type: "ica", "freerdp2", "x2go", "uccs"
			s: server name
			s: server uri
			b: last used server
			a(sbva{sv}): properties for the server
				s: type: "username", "password", "domain", "email", "sessiontype"
				b: required
				v: default value
				a{sv}: properties for the value
					for value 'domain': a list of possible domains (ica, freerdp2)
					"domains": a(s)
					for value 'domain': a list of domains that are read only
					"read-only": b
					for value 'sessiontype': TODO -> a subset of session profile parameters...
					"nothing-yet": s
			a(si): applications pinned for the server
				s: ID of the application (desktop file)
				i: position the application is pinned in
		-->

<!-- Methods -->
		<method name="GetServers">
			<!-- Get the servers that are available on the local network
				that don't need a login to get -->
			<arg type="a(sssba(sbva{sv})a(si))" name="serverList" direction="out" />
		</method>
		<method name="GetServersForLogin">
			<arg type="s" name="uri" direction="in" />
			<arg type="s" name="emailAddress" direction="in" />
			<arg type="s" name="password" direction="in" />
			<arg type="b" name="allowCache" direction="in" />

			<arg type="b" name="loginSuccess" direction="out" />
			<arg type="s" name="dataType" direction="out">
				<!-- Should be either "cached" or "network" depending on where the data
					was gotten from -->
			</arg>
			<arg type="a(sssba(sbva{sv})a(si))" name="serverList" direction="out" />
		</method>
		<method name="GetCachedDomainsForServer">
			<arg type="s" name="uri" direction="in" />
			<arg type="as" name="domains" direction="out" />
		</method>
		<method name="SetApplicationsForServer">
			<arg type="s" name="uccsUri" direction="in" />
				<!-- UCCS URI is optional and only needed for servers that
					are under a UCCS account.  NULL string if not used. -->
			<arg type="s" name="serverUri" direction="in" />
			<arg type="a(si)" name="applications" direction="in" />
		</method>
		<method name="SetLastUsedServer">
			<arg type="s" name="uccsUri" direction="in" />
			<arg type="s" name="serverUri" direction="in" />
		</method>

<!-- Signals -->
		<signal name="ServersUpdated">
			<arg type="a(sssba(sbva{sv})a(si))" name="serverList" direction="out" />
		</signal>
		<signal name="LoginServersUpdated">
			<!-- Note: This IS NOT a broadcast signal, it will only be
				signaled to folks who have previously called 'GetServersForLogin'
				with a valid password -->
			<arg type="s" name="uri" direction="out" />
			<arg type="s" name="emailAddress" direction="out" />
			<arg type="s" name="dataType" direction="out" />

			<arg type="a(sssba(sbva{sv})a(si))" name="serverList" direction="out" />
		</signal>
		<signal name="LoginChanged">
			<!-- This is sent if, for some reason, we think that the folks who
				had previously called GetServersForLogin need to recall it.  Those
				who do not will not be sent 'LoginServersUpdated' signals. -->
			<arg type="s" name="uri" direction="out" />
			<arg type="s" name="emailAddress" direction="out" />
		</signal>

	</interface>
</node>