summaryrefslogtreecommitdiff
path: root/doc/phdc-api.txt
blob: 4d2419516dfcea0ef7c2681303bf96c5fa58e19f (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
PHDC hierarchy
==============
Service		org.neard
Interface	org.neard.PHDC
Object path	/org/neard

Methods		void RegisterAgent(dict values)

			Register new PHDC agent.

			PHDC Manager or Agent implementations calls this
			method in order to register themselves against neard.
			PHDC Managers will be notified through their
			NewConnection method of new PHDC Agents connections.
			PHDC Agents will be nnotified through their
			NewConnection method when a connection to a PHDC Manager
			succeeded.

			Possible Errors: org.neard.Error.OutOfMemory
					 org.neard.Error.InvalidArguments
					 org.neard.Error.AlreadyExists

		void UnregisterAgent(object path, string role)

			Unregister an existing agent.

			Possible Errors: org.neard.Error.OutOfMemory
					 org.neard.Error.InvalidArguments


Fields		string	Role

			"Agent" or "Manager" (mandatory)

		object	Path

			Agent or Manager path (mandatory)

		string	ServiceName

			NFC urn to connect or to listen to
			(default: "urn:nfc:sn:phdc").


PHDC Manager hierarchy
======================
Service		unique name
Interface	org.neard.PHDC.Manager
Object path	freely definable


Methods:	void NewConnection(fd agent)

			This method gets called when a PHDC Agent connects
			using the p2p service name. The Phdc Manager uses
			the given agent file descriptor to exchange data
			with the Agent.

		void Disconnection(fd agent, error)

			This method is called when a PHDC Agent closes the
			file descriptoer.

		void Release()

			This method is called when the service daemon
			unregisters the agent. An agent can use it to do
			cleanup tasks.
			There is no need to unregister the agent, because
			when this method gets called it has already been
			unregistered.


PHDC Agent hierarchy
====================
Service		unique name
Interface	org.neard.PHDC.Agent
Object path	freely definable

Methods:	NOT YET IMPLEMENTED