summaryrefslogtreecommitdiffstats
path: root/cloud_print/gcp20/prototype/printer_state.cc
diff options
context:
space:
mode:
authorvitalybuka@chromium.org <vitalybuka@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-21 19:34:54 +0000
committervitalybuka@chromium.org <vitalybuka@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-21 19:34:54 +0000
commit72ca2f71ab6843b124383ab7b81f4da4bd702c03 (patch)
treebe42a0538027379e9a3d42a43dd0c26667965423 /cloud_print/gcp20/prototype/printer_state.cc
parentfcfdc8ed97e82d1ea87b7f4b8c7cd21092e2fa66 (diff)
downloadchromium_src-72ca2f71ab6843b124383ab7b81f4da4bd702c03.zip
chromium_src-72ca2f71ab6843b124383ab7b81f4da4bd702c03.tar.gz
chromium_src-72ca2f71ab6843b124383ab7b81f4da4bd702c03.tar.bz2
Improvements in GCP 2.0 prototype.
Fixed path to store print jobs, path format was not compatible with windows. CDD updated with more capabilities. Save/Load CDD to state file to allow manual edits. Review URL: https://codereview.chromium.org/78713008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@236571 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cloud_print/gcp20/prototype/printer_state.cc')
-rw-r--r--cloud_print/gcp20/prototype/printer_state.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/cloud_print/gcp20/prototype/printer_state.cc b/cloud_print/gcp20/prototype/printer_state.cc
index 0c1ab09..156ebe4 100644
--- a/cloud_print/gcp20/prototype/printer_state.cc
+++ b/cloud_print/gcp20/prototype/printer_state.cc
@@ -22,6 +22,7 @@ const char kAccessToken[] = "access_token";
const char kAccessTokenUpdate[] = "access_token_update";
const char kLocalSettings[] = "local_settings";
+const char kCdd[] = "cdd";
const char kLocalSettingsLocalDiscovery[] = "local_discovery";
const char kLocalSettingsAccessTokenEnabled[] = "access_token_enabled";
const char kLocalSettingsLocalPrintingEnabled[] =
@@ -66,6 +67,9 @@ bool SaveToFile(const base::FilePath& path, const PrinterState& state) {
json.SetBoolean(kRegistered, false);
}
+ if (state.cdd.get())
+ json.Set(kCdd, state.cdd->DeepCopy());
+
std::string json_str;
base::JSONWriter::WriteWithOptions(&json,
base::JSONWriter::OPTIONS_PRETTY_PRINT,
@@ -151,6 +155,10 @@ bool LoadFromFile(const base::FilePath& path, PrinterState* state) {
}
}
+ base::DictionaryValue* cdd_dict = NULL;
+ if (!json->GetDictionary(kCdd, &cdd_dict))
+ LOG(WARNING) << "Cannot read |cdd|. Reset to default.";
+
*state = PrinterState();
state->registration_state = PrinterState::REGISTERED;
state->user = user;
@@ -160,6 +168,8 @@ bool LoadFromFile(const base::FilePath& path, PrinterState* state) {
state->access_token = access_token;
state->access_token_update = base::Time::FromTimeT(access_token_update);
state->local_settings = local_settings;
+ if (cdd_dict)
+ state->cdd.reset(cdd_dict->DeepCopy());
return true;
}