Generic Apis implemented to Samsung LFD applications
Filesystem API - Download API - Unzip API - Keyboard API - Remote Control API
Class to handle filesystem
HTML Code
<!-- HEAD -->
<script type="text/javascript" language="javascript" src="$MANAGER_WIDGET/Common/API/Widget.js"></script>
<script type="text/javascript" language="javascript" src="$MANAGER_WIDGET/Common/API/TVKeyValue.js"></script>
<object id="FileSystemPlugin" classid="clsid:SAMSUNG-INFOLINK-FILESYSTEM"></object>
<object id="SefPlugin" classid="clsid:SAMSUNG-INFOLINK-SEF"></object>
Javascript Code
var fs = new Filesystem({
sefPlugin : document.querySelector('#SefPlugin'),
fileSystemPlugin : document.querySelector('#FileSystemPlugin')
});
fs.mkdir('/mypath', {}, function(error, data){
console.log('complete', error, data);
});
fs.rmdir('/mypath', {}, function(error, data){
console.log('complete', error, data);
});
fs.rm('/mypath/file.txt', {}, function(error, data){
console.log('complete', error, data);
});
fs.writeFile(path, text, function(error, data){
console.log('complete', error, data);
});
fs.readFile(path, text, function(error, data){
console.log('complete', error, data);
});
fs.ls(path, function(error, data){
console.log('complete', error, data);
});
Class to manage downloads
HTML Code
<!-- HEAD -->
<script type="text/javascript" language="javascript" src="$MANAGER_WIDGET/Common/API/Widget.js"></script>
<script type="text/javascript" language="javascript" src="$MANAGER_WIDGET/Common/API/TVKeyValue.js"></script>
<object id="FileSystemPlugin" classid="clsid:SAMSUNG-INFOLINK-DOWNLOAD"></object>
<object id="SefPlugin" classid="clsid:SAMSUNG-INFOLINK-SEF"></object>
Javascript Code
var downloader = new Downloader({
sefPlugin : document.querySelector('#SefPlugin'),
downloaderPlugin : document.querySelector('#DownloaderPlugin')
});
downloader.start({
url: 'http://www.example.com/myfile.zip',
path: '/mypath/myfile.zip',
}, function(error, data){
console.log('complete', error, data)
});
Class to unzip files
HTML Code
<!-- HEAD -->
<script type="text/javascript" language="javascript" src="$MANAGER_WIDGET/Common/API/Widget.js"></script>
<script type="text/javascript" language="javascript" src="$MANAGER_WIDGET/Common/API/TVKeyValue.js"></script>
<object id="FileSystemPlugin" classid="clsid:SAMSUNG-INFOLINK-FILESYSTEM"></object>
<object id="SefPlugin" classid="clsid:SAMSUNG-INFOLINK-SEF"></object>
Javascript Code
var unzipper = new Unzipper({
sefPlugin : document.querySelector('#SefPlugin'),
fileSystemPlugin : document.querySelector('#FileSystemPlugin')
});
unzipper.start({
from: '/mypath/myfile.zip',
to: '/mypath',
}, function(error, data){
console.log('complete', error, data)
});
Class enable keyboard in input fields
HTML Code
<!-- top of HEAD -->
<script type="text/javascript" src="$MANAGER_WIDGET/Common/API/TVKeyValue.js"></script>
<script type="text/javascript" src="$MANAGER_WIDGET/Common/API/Widget.js"></script>
<script type="text/javascript" src="$MANAGER_WIDGET/Common/API/Plugin.js"></script>
<script type="text/javascript" src="$MANAGER_WIDGET/Common/Plugin/Define.js"></script>
<!-- End of BODY -->
<script type="text/javascript" src="$MANAGER_WIDGET/Common/IME_XT9/ime.js"></script>
Javascript Code
var keyboard = new Keyboard({
selectors: ['.keyboard']
});
document.getElementById('input1').focus(); // open keyboard to type
keyboard.close(); //Close Keyboard
Class to control input navigation with enter keys and arrow keys on remote control.
HTML Code
<!-- top of HEAD -->
<script type="text/javascript" src="$MANAGER_WIDGET/Common/API/TVKeyValue.js"></script>
<script type="text/javascript" src="$MANAGER_WIDGET/Common/API/Widget.js"></script>
<script type="text/javascript" src="$MANAGER_WIDGET/Common/API/Plugin.js"></script>
<script type="text/javascript" src="$MANAGER_WIDGET/Common/Plugin/Define.js"></script>
Javascript Code
var remoteControlNavigator = RemoteControlNavigator({
selectors : '.keyboard',
cssClass: 'highlight',
onKeyReturn: function(){
keyboard.close();
},
onSetInput: function(element){
if(element.type == 'number')
_g_ime.keySet = '12key';
else
_g_ime.keySet = 'qwerty';
}
});
remoteControlNavigator.setActive('#input1');