blob: 9c22c304c19cc478d72e9ff948e693c3ebe983bf [file] [log] [blame]
// Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
'use strict';
wam.remote.fs = {};
wam.remote.fs.protocolName = 'x.wam.FileSystem';
/**
* Check to see of the given message is a wam.FileSystem handshake offer.
*
* @return {boolean}
*/
wam.remote.fs.testOffer = function(inMessage) {
if (!wam.changelogVersion)
throw new Error('Unknown changelog version');
if (!inMessage.arg.payload || typeof inMessage.arg.payload != 'object')
return false;
var payload = inMessage.arg.payload;
if (payload.protocol != wam.remote.fs.protocolName)
return false;
var pos = wam.changelogVersion.indexOf('.');
var expectedMajor = wam.changelogVersion.substr(0, pos);
pos = payload.version.indexOf('.');
var offeredMajor = payload.version.substr(0, pos);
return (expectedMajor == offeredMajor);
};
/**
* Context for a wam.FileSystem handshake request.
*/
wam.remote.fs.mount = function(channel) {
var handshakeRequest = new wam.remote.fs.handshake.Request(channel);
handshakeRequest.sendRequest();
return handshakeRequest.fileSystem;
};