blob: 6a34d509cc186309d4d3d3e3f8b70721412b5585 [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: function() {
return {
map_function_handle: this.mapFunctionHandle_.asDict(),
guid: this.guid_.toString()
};
}
};
Job.fromDict = function(jobDict) {
var 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: Job
};
});
</script>