Constructs an object that represents a media item or folder.
[Constructor(DOMString uri, optional DOMString mimeType, optional DOMString title)]
interface Item {
readonly attribute DOMString albumTitle;
readonly attribute DOMString artist;
readonly attribute Date date;
readonly attribute unsigned long long duration;
readonly attribute DOMString extension;
readonly attribute double fileSize;
readonly attribute DOMString genre;
readonly attribute DOMString mimeType;
readonly attribute unsigned long? width;
readonly attribute unsigned long? height;
attribute DOMString? subtitleUri;
readonly attribute DOMString? thumbnailUri;
attribute DOMString title;
readonly attribute ItemType itemType;
readonly attribute DOMString itemUri;
readonly attribute boolean isRootFolder;
readonly attribute ItemContentBuildType contentBuildType;
};
Constructors
Item(DOMString uri, optional DOMString mimeType, optional DOMString title)
Parameters:
- uri: Item path
- mimeType [optional]: Item MIME type
- title [optional]: Item title
AllShare root API
[NoInterfaceObject] interface AllShare {
};
Defines a WebApi object instance.
[NoInterfaceObject] interface ServiceConnectorObject {
readonly attribute ServiceConnector serviceconnector;
};
AllShare implements ServiceConnectorObject;
Defines the callback invoked when a ServiceProvider object is created successfully.
[Callback=FunctionOnly, NoInterfaceObject] interface ServiceProviderCreateSuccessCallback {
void onsuccess(ServiceProvider serviceProvider);
};
Methods
onsuccess
-
Callback method invoked when a ServiceProvider object is successfully created.
void onsuccess(ServiceProvider serviceProvider);
Parameters:
- serviceProvider: Created ServiceProvider object
Defines the callback invoked if a ServiceProvider object operation fails.
[Callback=FunctionOnly, NoInterfaceObject] interface ServiceProviderErrorCallback {
void onerror(WebAPIError error, ServiceState state);
};
Privilege level: Public
Privilege: http://developer.samsung.com/privilege/allshare
Methods
onerror
-
Callback method invoked if a ServiceProvider operation fails.
void onerror(WebAPIError error, ServiceState state);
Parameters:
- error: Object indicating the error type and message
- state: Current service state
Provides the connection to the AllShare Framework(ASF) service.
[NoInterfaceObject] interface ServiceConnector {
void createServiceProvider(ServiceProviderCreateSuccessCallback successCallback, optional ServiceProviderErrorCallback? errorCallback);
void deleteServiceProvider(SuccessCallback successCallback, optional ServiceProviderErrorCallback? errorCallback);
ServiceProvider getServiceProvider();
};
Methods
createServiceProvider
-
Creates a ServiceProvider object.
void createServiceProvider(ServiceProviderCreateSuccessCallback successCallback, optional ServiceProviderErrorCallback? errorCallback);
Since : 2.3
Product : TV, AV_BD
Privilege level: Public
Privilege: http://developer.samsung.com/privilege/allshare
Parameters:
- successCallback: Callback method to invoke if the request is successful
- errorCallback [optional]: Callback method to invoke if the request fails
Exceptions:
- WebAPIException
-
with error type TypeMismatchError, if an input parameter is not compatible with its expected type.
-
with error type NotSupportedError, if this feature is not supported.
-
with error type InvalidValuesError, if any input parameter contains an invalid value.
-
with error type UnknownError, for any other error.
-
with error type SecurityError, if the application does not have the privilege to call this method.
Code example:
// Define the ServiceProvider creation success callback
function sProviderCallback(provider) {
console.log("The service provider was obtained");
}
// Define the ServiceProvider creation error callback
function eProviderCallback(error, state) {
console.log(error.name);
console.log("Current ASF service state: " + state);
}
// Try to create the ServiceProvider object
try {
webapis.allshare.serviceconnector.createServiceProvider(sProviderCallback, eProviderCallback);
}
catch(e) {
console.log(e.message);
}
deleteServiceProvider
-
Deletes a ServiceProvider object.
void deleteServiceProvider(SuccessCallback successCallback, optional ServiceProviderErrorCallback? errorCallback);
Since : 2.3
Product : TV, AV_BD
Privilege level: Public
Privilege: http://developer.samsung.com/privilege/allshare
Parameters:
- successCallback: Callback method to invoke if the request is successful
- errorCallback [optional]: Callback method to invoke if the request fails
Exceptions:
- WebAPIException
-
with error type TypeMismatchError, if an input parameter is not compatible with its expected type.
-
with error type NotSupportedError, if this feature is not supported.
-
with error type InvalidValuesError, if any input parameter contains an invalid value.
-
with error type UnknownError, for any other error.
Code example:
// You must already have a ServiceProvider object
var serviceProvider;
// Define the ServiceProvider deletion success callback
function sProviderDeleteCallback() {
console.log("The ASF service provider has been deleted properly.");
}
// Define the ServiceProvider deletion error callback
function eProviderDeleteCallback(error, state) {
console.log(error.name);
console.log("The current ASF service state: " + state);
}
// Try to delete the ServiceProvider object
try {
webapis.allshare.serviceconnector.deleteServiceProvider(sProviderDeleteCallback, eProviderDeleteCallback);
}
catch(e) {
console.log(e.message);
}
getServiceProvider
-
Returns a ServiceProvider object that is connected to AllShare framework
ServiceProvider getServiceProvider();
Since : 2.3
Product : TV, AV_BD
Privilege level: Public
Privilege: http://developer.samsung.com/privilege/allshare
Return value:
ServiceProvider ServiceProvider object connected to the AllShare Framework
Exceptions:
- WebAPIException
-
with error type NotSupportedError, if this feature is not supported.
-
with error type UnknownError, for any other error.
Code example:
try {
// You must already have a ServiceProvider object
var serviceProvider = webapis.allshare.serviceconnector.getServiceProvider();
if (serviceProvider == null) {
console.log("Service provider was not created properly");
}
}
catch(e) {
console.log(e.message);
}
Provides methods for obtaining a DeviceFinder object.
[NoInterfaceObject] interface ServiceProvider {
DeviceFinder getDeviceFinder();
ServiceState getServiceState();
};
Methods
getDeviceFinder
-
Returns the DeviceFinder object used to find AllShare devices.
DeviceFinder getDeviceFinder();
Since : 2.3
Product : TV, AV_BD
Privilege level: Public
Privilege: http://developer.samsung.com/privilege/allshare
Return value:
DeviceFinder DeviceFinder object
Exceptions:
- WebAPIException
-
with error type NotSupportedError, if this feature is not supported.
-
with error type UnknownError, for any other error.
Code example:
var serviceProvider = webapis.allshare.serviceconnector.getServiceProvider();
try {
deviceFinder = serviceProvider.getDeviceFinder();
} catch(e) {
console.log(e.name);
}
getServiceState
-
Retrieves the current ASF service state.
ServiceState getServiceState();
Since : 2.3
Product : TV, AV_BD
Privilege level: Public
Privilege: http://developer.samsung.com/privilege/allshare
Return value:
ServiceState ServiceState value
Exceptions:
- WebAPIException
-
with error type NotSupportedError, if this feature is not supported.
-
with error type UnknownError, for any other error.
Code example:
// You must already have a ServiceProvider object
var serviceProvider;
try {
serviceState = serviceProvider.getServiceState();
} catch(e) {
console.log(e.name);
}
Defines a generic callback for device discovery event notifications.
[Callback, NoInterfaceObject] interface DeviceDiscoveryCallback {
void ondeviceadded(Device device);
void ondeviceremoved(Device device);
};
Methods
ondeviceadded
-
Callback method invoked when a new device appears on the network.
void ondeviceadded(Device device);
Privilege level: Public
Privilege: http://developer.samsung.com/privilege/allshare
Parameters:
- device: Newly-discovered device
Exceptions:
- WebAPIException
-
with error type TypeMismatchError, if an input parameter is not compatible with the expected type.
-
with error type NotSupportedError, if this feature is not supported.
-
with error type InvalidValuesError, if any input parameter contains an invalid value.
-
with error type UnknownError, for any other error.
Code example:
var serviceProvider = webapis.allshare.serviceconnector.getServiceProvider();
var monitoringCB = {
ondeviceadded : function (device) { console.log("new device has appeared :" + device.name); },
ondeviceremoved : function (device) { console.log("a device has disappeared :" + device.name); }
}
try {
var listenerId = serviceProvider.getDeviceFinder().addDeviceDiscoveryListener(monitoringCB);
} catch(e) {
console.log(e.name);
}
ondeviceremoved
-
Callback method invoked when a device disappears from the network.
void ondeviceremoved(Device device);
Privilege level: Public
Privilege: http://developer.samsung.com/privilege/allshare
Parameters:
- device: Device that has disappeared
Exceptions:
- WebAPIException
-
with error type TypeMismatchError, if an input parameter is not compatible with its expected type.
-
with error type NotSupportedError, if this feature is not supported.
-
with error type InvalidValuesError, if any input parameter contains an invalid value.
-
with error type UnknownError, for any other error.
Code example:
var serviceProvider = webapis.allshare.serviceconnector.getServiceProvider();
var monitoringCB = {
ondeviceadded : function (device) { console.log("new device has appeared :" + device.name); },
ondeviceremoved : function (device) { console.log("a device has disappeared :" + device.name); }
}
try {
var listenerId = serviceProvider.getDeviceFinder().addDeviceDiscoveryListener(monitoringCB);
} catch(e) {
console.log(e.name);
}
Defines icon information.
[NoInterfaceObject] interface Icon {
readonly attribute long depth;
readonly attribute long height;
readonly attribute long width;
readonly attribute DOMString mimeType;
readonly attribute DOMString iconUri;
};
Attributes
- readonly long depth
Icon color depth, in bits per pixel
Privilege level: Public
Privilege: http://developer.samsung.com/privilege/allshare
- readonly long height
Icon height
Privilege level: Public
Privilege: http://developer.samsung.com/privilege/allshare
- readonly long width
Icon width
Privilege level: Public
Privilege: http://developer.samsung.com/privilege/allshare
- readonly DOMString mimeType
Icon MIME type
Privilege level: Public
Privilege: http://developer.samsung.com/privilege/allshare
- readonly DOMString iconUri
Icon URI
Privilege level: Public
Privilege: http://developer.samsung.com/privilege/allshare
Provides methods for finding AllShare devices.
[NoInterfaceObject] interface DeviceFinder {
Device getDevice(DeviceType deviceType, DeviceId id);
DeviceArray getDeviceList(DeviceType deviceType);
void refresh();
long addDeviceDiscoveryListener(DeviceDiscoveryCallback deviceDiscoveryCallback);
void removeDeviceDiscoveryListener(long deviceDiscoveryListener);
};
Methods
getDevice
-
Returns a Device object with a specific device ID and type.
Device getDevice(DeviceType deviceType, DeviceId id);
Since : 2.3
Product : TV, AV_BD
Privilege level: Public
Privilege: http://developer.samsung.com/privilege/allshare
Parameters:
- deviceType: Device type
- id: Device ID
Return value:
Device Device object
Exceptions:
- WebAPIException
-
with error type NotSupportedError, if this feature is not supported.
-
with error type TypeMismatchError, if an input parameter is not compatible with its expected type.
-
with error type UnknownError, for any other error.
Code example:
var serviceProvider = webapis.allshare.serviceconnector.getServiceProvider();
var mediaProviderId; // The MEDIAPROVIDER's device ID is assumed to be known
try {
var deviceFinder = serviceProvider.getDeviceFinder();
// Get the MediaProvider device object
var device = deviceFinder.getDevice("MEDIAPROVIDER", mediaProviderId);
// Print the device ID
console.log(device.id);
} catch(e) {
console.log(e.name);
}
getDeviceList
-
Lists the discovered devices with a specific device type.
DeviceArray getDeviceList(DeviceType deviceType);
Since : 2.3
Product : TV, AV_BD
Privilege level: Public
Privilege: http://developer.samsung.com/privilege/allshare
Return value:
DeviceArray Device array
Exceptions:
- WebAPIException
-
with error type NotSupportedError, if this feature is not supported.
-
with error type TypeMismatchError, if an input parameter is not compatible with its expected type.
-
with error type UnknownError, for any other error.
Code example:
var serviceProvider = webapis.allshare.serviceconnector.getServiceProvider().
try {
var deviceFinder = serviceProvider.getDeviceFinder();
var devices = deviceFinder.getDeviceList("MEDIAPROVIDER");
// Print the number of available MediaProvider devices
console.log(devices.length);
} catch(e) {
console.log(e.name);
}
refresh
-
Refreshes the list of devices on the network.
Since : 2.3
Product : TV, AV_BD
Privilege level: Public
Privilege: http://developer.samsung.com/privilege/allshare
Exceptions:
- WebAPIException
-
with error type TypeMismatchError, if an input parameter is not compatible with its expected type.
-
with error type NotSupportedError, if this feature is not supported.
-
with error type InvalidValuesError, if any input parameter contains an invalid value.
-
with error type UnknownError, for any other error.
Code example:
var serviceProvider = webapis.allshare.serviceconnector.getServiceProvider();
try {
var deviceFinder = serviceProvider.getDeviceFinder();
var providers = deviceFinder.getDeviceList("MEDIAPROVIDER");
if (providers.length == 0) {
// Refresh the device list and retrieve the provider list again
deviceFinder.refresh();
providers = deviceFinder.getDeviceList("MEDIAPROVIDER");
}
} catch(e) {
console.log(e.name);
}
addDeviceDiscoveryListener
-
Registers a device discovery event listener.
long addDeviceDiscoveryListener(DeviceDiscoveryCallback deviceDiscoveryCallback);
Since : 2.3
Product : TV, AV_BD
Privilege level: Public
Privilege: http://developer.samsung.com/privilege/allshare
Parameters:
- deviceDiscoveryCallback: Callback method invoked when a device discovery event occurs.
Return value:
long Event listener ID
Exceptions:
- WebAPIException
-
with error type TypeMismatchError, if an input parameter is not compatible with its expected type.
-
with error type NotSupportedError, if this feature is not supported.
-
with error type InvalidValuesError, if any input parameter contains an invalid value.
-
with error type UnknownError, for any other error.
Code example:
var serviceProvider = webapis.allshare.serviceconnector.getServiceProvider();
var monitoringCB = {
ondeviceadded : function (device) { console.log("new device has appeared :" + device.name); },
ondeviceremoved : function (device) { console.log("a device has disappeared :" + device.name); }
}
try {
var listenerId = serviceProvider.getDeviceFinder().addDeviceDiscoveryListener(monitoringCB);
} catch(e) {
console.log(e.name);
}
removeDeviceDiscoveryListener
-
Unregisters a device discovery event listener.
void removeDeviceDiscoveryListener(long deviceDiscoveryListener);
Since : 2.3
Product : TV, AV_BD
Privilege level: Public
Privilege: http://developer.samsung.com/privilege/allshare
Parameters:
- deviceDiscoveryListener: Event listener ID
Exceptions:
- WebAPIException
-
with error type TypeMismatchError, if an input parameter is not compatible with its expected type.
-
with error type NotSupportedError, if this feature is not supported.
-
with error type InvalidValuesError, if any input parameter contains an invalid value.
-
with error type UnknownError, for any other error.
Code example:
var serviceProvider = webapis.allshare.serviceconnector.getServiceProvider();
var listenerId; // Listener ID returned from addDeviceDiscoveryListener
var monitoringCB = {
ondeviceadded : function (device) { console.log("new device has appeared :" + device.name); },
ondeviceremoved : function (device) { console.log("a device has disappeared :" + device.name); }
}
try {
var listenerId = serviceProvider.getDeviceFinder().addDeviceDiscoveryListener(monitoringCB);
serviceProvider.getDeviceFinder().removeDeviceDiscoveryListener(listenerId);
} catch(e) {
console.log(e.name);
}
Retrieves information about a device.
[NoInterfaceObject] interface Device {
readonly attribute DeviceId id;
readonly attribute DeviceDomain deviceDomain;
readonly attribute DeviceType deviceType;
readonly attribute IconArray iconArray;
readonly attribute DOMString ipAddress;
readonly attribute DOMString? modelName;
readonly attribute DOMString name;
readonly attribute DOMString nic;
};
Privilege level: Public
Privilege: http://developer.samsung.com/privilege/allshare
Attributes
- readonly DeviceId id
Unique device ID
Privilege level: Public
Privilege: http://developer.samsung.com/privilege/allshare
- readonly DeviceDomain deviceDomain
Device domain
Privilege level: Public
Privilege: http://developer.samsung.com/privilege/allshare
- readonly DeviceType deviceType
Device type
Privilege level: Public
Privilege: http://developer.samsung.com/privilege/allshare
- readonly IconArray iconArray
Device icons
Privilege level: Public
Privilege: http://developer.samsung.com/privilege/allshare
- readonly DOMString ipAddress
Device IPv4 address
Privilege level: Public
Privilege: http://developer.samsung.com/privilege/allshare
- readonly DOMString modelName
Device model name
Privilege level: Public
Privilege: http://developer.samsung.com/privilege/allshare
- readonly DOMString name
Device name
Privilege level: Public
Privilege: http://developer.samsung.com/privilege/allshare
- readonly DOMString nic
Device NIC (Network Interface Controller) name
Privilege level: Public
Privilege: http://developer.samsung.com/privilege/allshare
Code example:
var serviceProvider = webapis.allshare.serviceconnector.getServiceProvider();
var keyword = "foo";
// Define a browse callback
function searchCB(list, endOfItem, providerId){
// Retrieve the item list
}
function errorCB(error, device){
console.log(device + " raises " + error);
}
// Define a filter to browse videos only
var filter = new webapis.AttributeFilter("itemType", null, {"VIDEO"});
try {
var providers = serviceProvider.getDeviceFinder().getDeviceList("MEDIAPROVIDER");
if (providers.length > 0) {
// Search for the keyword in the first DMS
providers[0].search(keyword, 0, 40, searchCB, errorCB, filter);
}
} catch(e) {
console.log(e.message);
}