Re: Proposed API for HDP

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 
> > --------------------------------------------------------------------------------
> > 
> > Service		org.bluez
> > Interface	org.bluez.HealthDeviceApplication
> > Object path	[variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX/hdp_YYYY
> > 
> 
> That is more like the org.bluez.HealthService as mentioned above. So
> lets combine them. I don't see a need for splitting these.
> 
> > Methods:
> > 
> > 	array GetProperties()
> > 
> > 		Gets the information of the remote application published on its
> > 		SDP record. The returned data format is as follows:
> > 
> > 		{
> > 			"end_points": [
> > 				"mdepid": uint8,
> > 				"role"  : "source" or "sink" ,
> > 				"specs" : [{
> > 					"dtype"       : uint16,
> > 					"description" : string, (optional)
> > 					}]
> > 				]
> > 		}
> > 
> > 	object Connect(path local_application_id)
> > 
> > 		Connects the local application with the remote application.
> > 
> > 		Only the bus client that created the local session will be able
> > 		to create connections using it.
> > 
> > 		If the Device is already connected with an other application an
> > 		org.bluez.Error.AlreadyConnected error will be received.
> > 
> > 		Possible errors: org.bluez.Error.InvalidArguments
> > 				org.bluez.Error.AlreadyConnected
> > 				org.bluez.Error.HealthError
> > 
> > 	void Disconnect()
> > 
> > 		Disconnect from the remote application the state will also be
> > 		deleted. And no future reconnections will be possible. For
> > 		keeping the state the method Pause of the health link should be
> > 		used.
> > 
> > 		Possible errors: org.bluez.Error.InvalidArguments
> > 				org.bluez.Error.NotFound
> > 				org.bluez.Error.HealthError
> 
> Do we need Connect() and Disconnect() here. Can we just not create these
> connections in the background based of a reference counting via the
> channels?
> 
> > 	boolean Echo(array{byte})
> > 
> > 		Sends an echo petition to the remote intance. Returns True if
> > 		response matches with the buffer sent. If some error is detected
> > 		False value is returned and the associated MCL is closed.
> > 
> > 	path OpenDataChannel(byte mdepid, string conf)
> > 
> > 		Creates a new data channel with the indicated config to the
> > 		remote MCAP Data End Point (MDEP).
> > 		The configuration should indicate the channel quality of
> > 		service using one of this values "reliable", "streaming", "any".
> > 
> > 		Returns the data channel path.
> > 
> > 		Possible errors: org.bluez.Error.InvalidArguments
> > 				org.bluez.Error.HealthError
> > 
> > 	void ReconnectDataChannel(path data_channel)
> > 
> > 		Reconnects a previously created data channel indicated by its
> > 		path.
> > 
> > 		Possible errors: org.bluez.Error.InvalidArguments
> > 				org.bluez.Error.HealthError
> > 				org.bluez.Error.NotFound
> > 
> > 	int GetDataChannelFileDescriptor(path data_channel)
> > 
> > 		Gets a file descriptor where data can be read or written.
> > 
> > 		Possible errors: org.bluez.Error.InvalidArguments
> > 				org.bluez.Error.NotFound
> > 				org.bluez.Error.HealthError
> > 
> > 	void DeleteDataChannel(path data_channel)
> > 
> > 		Deletes a data channel so it will not be available to use.
> > 
> > 		Possible errors: org.bluez.Error.InvalidArguments
> > 				org.bluez.Error.NotFound
> > 				org.bluez.Error.HealthError
> > 
> > 	void DeleteAllDataChannels()
> > 
> > 		Deletes all data channels so they will not be available for
> > 		future use. Typically this function is called when the
> > 		connection with the remote device will be closed permanently.
> > 
> > 		Possible errors: org.bluez.Error.HealthError
> 
> This actually means also Disconnect() to me. So clear the extra work of
> connect and disconnect can be done in the background and invisible for
> the user.
> 
> > 	dict GetDataChannelStatus()
> > 
> > 		Return a dictionary with all the data channels that can be used
> > 		to send data right now. The dictionary is formed like follows:
> > 
> > 		{
> > 			"reliable": [channel_path_r1, channel_path_r2, ...],
> > 			"streaming" : [channel_path_s1, channel_path_s2, ...]
> > 		}
> > 
> > 		The fist reliable data channel will always be the first data
> > 		channel in reliable array.
> > 

You don't need this method, DataChannel could be a Property and then you
get this via GetProperties().

-- 
Gustavo F. Padovan
http://padovan.org
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux