51 lines
881 B
JavaScript
51 lines
881 B
JavaScript
var lib = require('./libvlc');
|
|
|
|
exports.throw = function () {
|
|
var err = new Error(lib.libvlc_errmsg());
|
|
throw err;
|
|
};
|
|
|
|
exports.makeProperties = function (obj, instance, properties, prefix) {
|
|
var props = [];
|
|
|
|
Object.keys(properties).forEach(function (prop) {
|
|
var getter = prefix;
|
|
var setter;
|
|
|
|
if (properties[prop].get) {
|
|
getter += 'get_';
|
|
}
|
|
|
|
getter += prop;
|
|
|
|
if (properties[prop].set) {
|
|
setter = prefix + 'set_' + prop;
|
|
}
|
|
|
|
props.push({
|
|
name: prop,
|
|
get: getter,
|
|
set: setter
|
|
});
|
|
});
|
|
|
|
props.forEach(function (prop) {
|
|
var get, set;
|
|
|
|
get = function () {
|
|
return lib[prop.get](instance);
|
|
};
|
|
|
|
if (prop.set) {
|
|
set = function (val) {
|
|
return lib[prop.set](instance, val);
|
|
};
|
|
}
|
|
|
|
Object.defineProperty(obj, prop.name, {
|
|
get: get,
|
|
set: set
|
|
});
|
|
});
|
|
};
|