goog.provide( 'spv.vds.impl.IPPNovaAdaptor' );
goog.require( 'spv.vds.impl.IPPAdaptor' );
goog.require('spv.vds.ipprot_nova.IpadClient');
/**
*
* @constructor
* @extends {spv.vds.impl.IPPAdaptor}
* @param {string} service_url
*/
spv.vds.impl.IPPNovaAdaptor = function(service_url)
{
goog.base( this, service_url);
var use_jsonp = true;
var ipad_client = new spv.vds.ipprot_nova.IpadClient(service_url, use_jsonp);
this._impl = ipad_client;
};
goog.inherits(spv.vds.impl.IPPNovaAdaptor, spv.vds.impl.IPPAdaptor);
/**
* @param {string} session_id
* @param {string} feed_id
* @param {function(spv.vds.CampaignCollection)} on_success
* @param {function(Error)} on_failure
*/
spv.vds.impl.IPPNovaAdaptor.prototype.sessionGetCampaigns = function(
session_id,
feed_id,
on_success,
on_failure )
{
this.getCampaigns( feed_id, on_success, on_failure );
}
/**
* @param {string} feed_id
* @param {function(spv.vds.CampaignCollection)} on_success
* @param {function(Error)} on_failure
*/
spv.vds.impl.IPPNovaAdaptor.prototype.getCampaigns = function(
feed_id,
on_success,
on_failure )
{
/** @param {spv.vds.impl.RawCampaignCollection} proto_cc */
var on_protocol_success = function(proto_cc)
{
var cc = spv.vds.impl.IPPCommon.convertToCampaignCollection(proto_cc);
on_success(cc);
};
this._impl.vcamp_get_campaigns(
feed_id,
on_protocol_success,
on_failure);
}
/**
* @param {string} session_id
* @param {string} business_group_retailer_id
* @param {function()} on_success
* @param {function(Error)} on_failure
*/
spv.vds.impl.IPPNovaAdaptor.prototype.sessionSetRetailerBusinessGroup = function (
session_id,
business_group_retailer_id,
on_success,
on_failure) {
/** @param {boolean} result_flag */
var handle_protocol = function (result_flag) {
if (true == result_flag) {
on_success();
}
else {
throw new Error('sessionSetRetailerBusinessGroup failed for retailer id: ' +
business_group_retailer_id);
}
};
this._impl.set_retailer_business_group(
session_id,
business_group_retailer_id,
handle_protocol,
on_failure);
};
/**
* @param {string} session_id
* @param {string} template_name
* @param {string} retailer_id
* @param {function(string)} on_success
* @param {function(Error)} on_failure
*/
spv.vds.impl.IPPNovaAdaptor.prototype.sessionGenerateRetailerHtmlForPdf = function(
session_id,
template_name,
retailer_id,
on_success,
on_failure)
{
/** @param {spv.vds.ipprot_nova.output.PdfGenerationResult} pdf_result */
var handle_protocol = function(pdf_result)
{
var pdf_url = spv.ds.impl.IPPCommon.extractPdfUrl( pdf_result );
on_success(pdf_url);
};
this._impl.generate_retailer_html_for_pdf(
session_id,
template_name,
retailer_id,
handle_protocol,
on_failure );
};