ASFService API
To use Samsung Product API,
<script type="text/javascript" src="$WEBAPIS/webapis/webapis.js"></script>
Should be loaded in index.html
This API enables initiating the AllShare Framework.
Since : 2.3
Product : TV, AV_BD
Privilege level: Public
Privilege: http://developer.samsung.com/privilege/allshare
Summary of Interfaces and Methods
Interface | Method |
---|---|
Item | |
WebApiAllShareObject | |
AllShare | |
ServiceConnectorObject | |
ServiceProviderCreateSuccessCallback | void onsuccess (ServiceProvider serviceProvider) |
ServiceProviderErrorCallback | void onerror (WebAPIError error, ServiceState state) |
ServiceConnector | void createServiceProvider (ServiceProviderCreateSuccessCallback successCallback, optional ServiceProviderErrorCallback errorCallback) void deleteServiceProvider (SuccessCallback successCallback, optional ServiceProviderErrorCallback errorCallback) ServiceProvider? getServiceProvider () |
ServiceProvider | DeviceFinder getDeviceFinder () ServiceState getServiceState () |
DeviceDiscoveryCallback | void ondeviceadded(Device device) void ondeviceremoved(Device device) |
Icon | |
DeviceFinder | Device getDevice(DeviceType deviceType, DeviceId id) DeviceArray getDeviceList(DeviceType deviceType) void refresh() long addDeviceDiscoveryListener(DeviceDiscoveryCallback deviceDiscoveryCallback) void removeDeviceDiscoveryListener(long deviceDiscoveryListener) |
Device | |
MediaProviderSuccessCallback | void onsuccess(ItemList itemList, boolean endOfItems, DeviceId providerId) |
MediaProviderErrorCallback | void onerror(WebAPIError error, DeviceId providerId) |
MediaProvider | void browse(Item folderItem, unsigned long startIndex, unsigned long requestCount, MediaProviderSuccessCallback browseCallback, optional MediaProviderErrorCallback? errorCallback, optional AbstractFilter? browseFilter, optional SortMode? sortMode) void search(DOMString keyword, unsigned long startIndex, unsigned long requestCount, MediaProviderSuccessCallback successCallback, optional MediaProviderErrorCallback? errorCallback, optional AbstractFilter? searchFilter) |
1. Type Definitions
1.1. ItemType
Specifies the item type.
enum ItemType {
"AUDIO",
"FOLDER",
"IMAGE",
"UNKNOWN",
"VIDEO"
};
The following values are supported
- FOLDER : Folder type
- AUDIO : Audio type
- VIDEO : Video type
- IMAGE : Image type
- UNKNOWN : Unknown media type
1.2. ServiceState
Specifies the ASF service state.
enum ServiceState {
"DISABLED",
"ENABLED",
"UNKNOWN"
};
The following values are supported
- DISABLED : Disabled
- ENABLED : Enabled
- UNKNOWN : Unknown
1.3. DeviceType
Specifies the ASF service state.
enum DeviceType {
"MEDIAPROVIDER",
"UNKNOWN"
};
The following values are supported
- MEDIAPROVIDER : Media provider
- UNKNOWN : Unknown device type
1.4. DeviceDomain
Specifies the network domain in which the device is located.
enum DeviceDomain {
"LOCAL_NETWORK",
"UNKNOWN"
};
The following values are supported
- LOCAL_NETWORK : Located in a local network area
- UNKNOWN : Located in an unknown area
2. Interfaces
2.1. Item
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
Attributes
- readonly DOMString albumTitle
Album title
- readonly DOMString artist
Artist name
- readonly Date date
Date
- readonly unsigned long long duration
Duration
- readonly DOMString extension
File extension
- readonly double fileSize
File size
- readonly DOMString genre
Genre
- readonly DOMString mimeType
MIME type
- readonly long width
Width
- readonly long height
Height
- DOMString subtitleUri
Subtitle URI
- readonly DOMString thumbnailUri
Thumbnail image URI
- DOMString title
Title
- readonly ItemType itemType
Item type
- readonly DOMString itemUri
Item URI
- readonly boolean isRootFolder
Whether the item is a root folder
- readonly ItemContentBuildType contentBuildType
Content build type
3. Full WebIDL
module ASFService {
enum ItemType {
"AUDIO",
"FOLDER",
"IMAGE",
"UNKNOWN",
"VIDEO"
};
enum ServiceState {
"DISABLED",
"ENABLED",
"UNKNOWN"
};
enum DeviceType {
"MEDIAPROVIDER",
"UNKNOWN"
};
enum DeviceDomain {
"LOCAL_NETWORK",
"UNKNOWN"
};
typedef DOMString DeviceId;
typedef sequence DeviceArray;
typedef sequence IconArray;
typedef sequence- ItemList;
[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;
};
[NoInterfaceObject] interface WebApiAllShareObject {
readonly attribute AllShare allshare;
};
WebApi implements WebApiAllShareObject;
[NoInterfaceObject] interface AllShare {
};
[NoInterfaceObject] interface ServiceConnectorObject {
readonly attribute ServiceConnector serviceconnector;
};
AllShare implements ServiceConnectorObject;
[Callback=FunctionOnly, NoInterfaceObject] interface ServiceProviderCreateSuccessCallback {
void onsuccess(ServiceProvider serviceProvider);
};
[Callback=FunctionOnly, NoInterfaceObject] interface ServiceProviderErrorCallback {
void onerror(WebAPIError error, ServiceState state);
};
[NoInterfaceObject] interface ServiceConnector {
void createServiceProvider(ServiceProviderCreateSuccessCallback successCallback, optional ServiceProviderErrorCallback? errorCallback);
void deleteServiceProvider(SuccessCallback successCallback, optional ServiceProviderErrorCallback? errorCallback);
ServiceProvider getServiceProvider();
};
[NoInterfaceObject] interface ServiceProvider {
DeviceFinder getDeviceFinder();
ServiceState getServiceState();
};
[Callback, NoInterfaceObject] interface DeviceDiscoveryCallback {
void ondeviceadded(Device device);
void ondeviceremoved(Device device);
};
[NoInterfaceObject] interface Icon {
readonly attribute long depth;
readonly attribute long height;
readonly attribute long width;
readonly attribute DOMString mimeType;
readonly attribute DOMString iconUri;
};
[NoInterfaceObject] interface DeviceFinder {
Device getDevice(DeviceType deviceType, DeviceId id);
DeviceArray getDeviceList(DeviceType deviceType);
void refresh();
long addDeviceDiscoveryListener(DeviceDiscoveryCallback deviceDiscoveryCallback);
void removeDeviceDiscoveryListener(long deviceDiscoveryListener);
};
[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;
};
[Callback=FunctionOnly, NoInterfaceObject] interface MediaProviderSuccessCallback {
void onsuccess(ItemList itemList, boolean endOfItems, DeviceId providerId);
};
[Callback=FunctionOnly, NoInterfaceObject] interface MediaProviderErrorCallback {
void onerror(WebAPIError error, DeviceId providerId);
};
[NoInterfaceObject] interface MediaProvider : Device {
readonly attribute boolean isSearchable;
readonly attribute Item rootFolder;
void browse(Item folderItem, unsigned long startIndex, unsigned long requestCount, MediaProviderSuccessCallback browseCallback, optional MediaProviderErrorCallback? errorCallback, optional AbstractFilter? browseFilter, optional SortMode? sortMode);
void search(DOMString keyword, unsigned long startIndex, unsigned long requestCount, MediaProviderSuccessCallback successCallback, optional MediaProviderErrorCallback? errorCallback, optional AbstractFilter? searchFilter);
};
};