private string RegisterCloudPrinter(CloudPrinter printer)
{
Logger.Log(LogLevel.Debug, "Registering cloud printer [{0}]", printer.Name);
var reqdata = new
{
printproxydummyparameter = "",
printer = printer.Name,
proxy = Config.CloudPrintProxyID,
description = printer.Description,
capsHash = printer.CapsHash,
status = printer.Status,
capabilities = printer.Capabilities,
defaults = printer.Defaults
};
var response = HTTPHelper.PostCloudPrintMultiPartRequest(OAuthTicket, "register", reqdata);
if (response.success == true)
{
printer.SetPrinterID(response.printers[0].id);
Logger.Log(LogLevel.Debug, "Printer [{0}] has ID {1}", printer.Name, printer.PrinterID);
if (Config.OAuthRefreshToken == null && OAuthCodePollURL == null)
{
OAuthCodePollURL = response.polling_url;
return response.complete_invite_url;
}
return null;
}
else
{
throw new PrintProxyException(response.message);
}
}