blob: 5424ef751f02648a87d604242db48ab6cbec7924 [file] [log] [blame]
<!DOCTYPE html>
<!--
Copyright 2015 The Chromium Authors. All rights reserved.
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->
<link rel="import" href="/tracing/base/guid.html">
<link rel="import" href="/tracing/mre/function_handle.html">
<script>
'use strict';
tr.exportTo('tr.mre', function() {
function Job(mapFunctionHandle, opt_guid) {
this.mapFunctionHandle_ = mapFunctionHandle;
if (opt_guid === undefined) {
this.guid_ = tr.b.GUID.allocateSimple();
} else {
this.guid_ = opt_guid;
}
}
Job.prototype = {
get mapFunctionHandle() { return this.mapFunctionHandle_; },
get guid() { return this.guid_; },
asDict() {
return {
map_function_handle: this.mapFunctionHandle_.asDict(),
guid: this.guid_.toString()
};
}
};
Job.fromDict = function(jobDict) {
let mapFunctionHandle = null;
if (jobDict.map_function_handle !== null) {
mapFunctionHandle = tr.mre.FunctionHandle.fromDict(
jobDict.map_function_handle);
}
return new Job(mapFunctionHandle, jobDict.guid);
};
return {
Job,
};
});
</script>