Home | History | Annotate | Download | only in dom_distiller_js
      1 // GENERATED FILE
      2 // This file generated by DomDistillerJs protoc plugin.
      3 #include "third_party/dom_distiller_js/dom_distiller.pb.h"
      4 
      5 // proto dependencies
      6 
      7 // base dependencies
      8 #include "base/values.h"
      9 #include "base/memory/scoped_ptr.h"
     10 
     11 #include <string>
     12 
     13 namespace dom_distiller {
     14   namespace proto {
     15     namespace json {
     16       class DistilledContent {
     17        public:
     18         static bool ReadFromValue(const base::Value* json, dom_distiller::proto::DistilledContent* message) {
     19           const base::DictionaryValue* dict;
     20           if (!json->GetAsDictionary(&dict)) goto error;
     21           if (dict->HasKey("1")) {
     22             std::string field_value;
     23             if (!dict->GetString("1", &field_value)) {
     24               goto error;
     25             }
     26             message->set_html(field_value);
     27           }
     28           return true;
     29 
     30         error:
     31           return false;
     32         }
     33 
     34         static scoped_ptr<base::Value> WriteToValue(const dom_distiller::proto::DistilledContent& message) {
     35           scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue());
     36           if (message.has_html()) {
     37             dict->SetString("1", message.html());
     38           }
     39           return dict.PassAs<base::Value>();
     40         }
     41       };
     42 
     43       class PaginationInfo {
     44        public:
     45         static bool ReadFromValue(const base::Value* json, dom_distiller::proto::PaginationInfo* message) {
     46           const base::DictionaryValue* dict;
     47           if (!json->GetAsDictionary(&dict)) goto error;
     48           if (dict->HasKey("1")) {
     49             std::string field_value;
     50             if (!dict->GetString("1", &field_value)) {
     51               goto error;
     52             }
     53             message->set_next_page(field_value);
     54           }
     55           if (dict->HasKey("2")) {
     56             std::string field_value;
     57             if (!dict->GetString("2", &field_value)) {
     58               goto error;
     59             }
     60             message->set_prev_page(field_value);
     61           }
     62           if (dict->HasKey("3")) {
     63             std::string field_value;
     64             if (!dict->GetString("3", &field_value)) {
     65               goto error;
     66             }
     67             message->set_canonical_page(field_value);
     68           }
     69           return true;
     70 
     71         error:
     72           return false;
     73         }
     74 
     75         static scoped_ptr<base::Value> WriteToValue(const dom_distiller::proto::PaginationInfo& message) {
     76           scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue());
     77           if (message.has_next_page()) {
     78             dict->SetString("1", message.next_page());
     79           }
     80           if (message.has_prev_page()) {
     81             dict->SetString("2", message.prev_page());
     82           }
     83           if (message.has_canonical_page()) {
     84             dict->SetString("3", message.canonical_page());
     85           }
     86           return dict.PassAs<base::Value>();
     87         }
     88       };
     89 
     90       class MarkupArticle {
     91        public:
     92         static bool ReadFromValue(const base::Value* json, dom_distiller::proto::MarkupArticle* message) {
     93           const base::DictionaryValue* dict;
     94           if (!json->GetAsDictionary(&dict)) goto error;
     95           if (dict->HasKey("1")) {
     96             std::string field_value;
     97             if (!dict->GetString("1", &field_value)) {
     98               goto error;
     99             }
    100             message->set_published_time(field_value);
    101           }
    102           if (dict->HasKey("2")) {
    103             std::string field_value;
    104             if (!dict->GetString("2", &field_value)) {
    105               goto error;
    106             }
    107             message->set_modified_time(field_value);
    108           }
    109           if (dict->HasKey("3")) {
    110             std::string field_value;
    111             if (!dict->GetString("3", &field_value)) {
    112               goto error;
    113             }
    114             message->set_expiration_time(field_value);
    115           }
    116           if (dict->HasKey("4")) {
    117             std::string field_value;
    118             if (!dict->GetString("4", &field_value)) {
    119               goto error;
    120             }
    121             message->set_section(field_value);
    122           }
    123           if (dict->HasKey("5")) {
    124             const base::ListValue* field_list;
    125             if (!dict->GetList("5", &field_list)) {
    126               goto error;
    127             }
    128             for (size_t i = 0; i < field_list->GetSize(); ++i) {
    129               std::string field_value;
    130               if (!field_list->GetString(i, &field_value)) {
    131                 goto error;
    132               }
    133               message->add_authors(field_value);
    134             }
    135           }
    136           return true;
    137 
    138         error:
    139           return false;
    140         }
    141 
    142         static scoped_ptr<base::Value> WriteToValue(const dom_distiller::proto::MarkupArticle& message) {
    143           scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue());
    144           if (message.has_published_time()) {
    145             dict->SetString("1", message.published_time());
    146           }
    147           if (message.has_modified_time()) {
    148             dict->SetString("2", message.modified_time());
    149           }
    150           if (message.has_expiration_time()) {
    151             dict->SetString("3", message.expiration_time());
    152           }
    153           if (message.has_section()) {
    154             dict->SetString("4", message.section());
    155           }
    156           base::ListValue* field_list = new base::ListValue();
    157           dict->Set("5", field_list);
    158           for (int i = 0; i < message.authors_size(); ++i) {
    159             field_list->AppendString(message.authors(i));
    160           }
    161           return dict.PassAs<base::Value>();
    162         }
    163       };
    164 
    165       class MarkupImage {
    166        public:
    167         static bool ReadFromValue(const base::Value* json, dom_distiller::proto::MarkupImage* message) {
    168           const base::DictionaryValue* dict;
    169           if (!json->GetAsDictionary(&dict)) goto error;
    170           if (dict->HasKey("1")) {
    171             std::string field_value;
    172             if (!dict->GetString("1", &field_value)) {
    173               goto error;
    174             }
    175             message->set_url(field_value);
    176           }
    177           if (dict->HasKey("2")) {
    178             std::string field_value;
    179             if (!dict->GetString("2", &field_value)) {
    180               goto error;
    181             }
    182             message->set_secure_url(field_value);
    183           }
    184           if (dict->HasKey("3")) {
    185             std::string field_value;
    186             if (!dict->GetString("3", &field_value)) {
    187               goto error;
    188             }
    189             message->set_type(field_value);
    190           }
    191           if (dict->HasKey("4")) {
    192             std::string field_value;
    193             if (!dict->GetString("4", &field_value)) {
    194               goto error;
    195             }
    196             message->set_caption(field_value);
    197           }
    198           if (dict->HasKey("5")) {
    199             int field_value;
    200             if (!dict->GetInteger("5", &field_value)) {
    201               goto error;
    202             }
    203             message->set_width(field_value);
    204           }
    205           if (dict->HasKey("6")) {
    206             int field_value;
    207             if (!dict->GetInteger("6", &field_value)) {
    208               goto error;
    209             }
    210             message->set_height(field_value);
    211           }
    212           return true;
    213 
    214         error:
    215           return false;
    216         }
    217 
    218         static scoped_ptr<base::Value> WriteToValue(const dom_distiller::proto::MarkupImage& message) {
    219           scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue());
    220           if (message.has_url()) {
    221             dict->SetString("1", message.url());
    222           }
    223           if (message.has_secure_url()) {
    224             dict->SetString("2", message.secure_url());
    225           }
    226           if (message.has_type()) {
    227             dict->SetString("3", message.type());
    228           }
    229           if (message.has_caption()) {
    230             dict->SetString("4", message.caption());
    231           }
    232           if (message.has_width()) {
    233             dict->SetInteger("5", message.width());
    234           }
    235           if (message.has_height()) {
    236             dict->SetInteger("6", message.height());
    237           }
    238           return dict.PassAs<base::Value>();
    239         }
    240       };
    241 
    242       class MarkupInfo {
    243        public:
    244         static bool ReadFromValue(const base::Value* json, dom_distiller::proto::MarkupInfo* message) {
    245           const base::DictionaryValue* dict;
    246           if (!json->GetAsDictionary(&dict)) goto error;
    247           if (dict->HasKey("1")) {
    248             std::string field_value;
    249             if (!dict->GetString("1", &field_value)) {
    250               goto error;
    251             }
    252             message->set_title(field_value);
    253           }
    254           if (dict->HasKey("2")) {
    255             std::string field_value;
    256             if (!dict->GetString("2", &field_value)) {
    257               goto error;
    258             }
    259             message->set_type(field_value);
    260           }
    261           if (dict->HasKey("3")) {
    262             std::string field_value;
    263             if (!dict->GetString("3", &field_value)) {
    264               goto error;
    265             }
    266             message->set_url(field_value);
    267           }
    268           if (dict->HasKey("4")) {
    269             std::string field_value;
    270             if (!dict->GetString("4", &field_value)) {
    271               goto error;
    272             }
    273             message->set_description(field_value);
    274           }
    275           if (dict->HasKey("5")) {
    276             std::string field_value;
    277             if (!dict->GetString("5", &field_value)) {
    278               goto error;
    279             }
    280             message->set_publisher(field_value);
    281           }
    282           if (dict->HasKey("6")) {
    283             std::string field_value;
    284             if (!dict->GetString("6", &field_value)) {
    285               goto error;
    286             }
    287             message->set_copyright(field_value);
    288           }
    289           if (dict->HasKey("7")) {
    290             std::string field_value;
    291             if (!dict->GetString("7", &field_value)) {
    292               goto error;
    293             }
    294             message->set_author(field_value);
    295           }
    296           if (dict->HasKey("8")) {
    297             const base::Value* inner_message_value;
    298             if (!dict->Get("8", &inner_message_value)) {
    299               goto error;
    300             }
    301             if (!dom_distiller::proto::json::MarkupArticle::ReadFromValue(inner_message_value, message->mutable_article())) {
    302               goto error;
    303             }
    304           }
    305           if (dict->HasKey("9")) {
    306             const base::ListValue* field_list;
    307             if (!dict->GetList("9", &field_list)) {
    308               goto error;
    309             }
    310             for (size_t i = 0; i < field_list->GetSize(); ++i) {
    311               const base::Value* inner_message_value;
    312               if (!field_list->Get(i, &inner_message_value)) {
    313                 goto error;
    314               }
    315               if (!dom_distiller::proto::json::MarkupImage::ReadFromValue(inner_message_value, message->add_images())) {
    316                 goto error;
    317               }
    318             }
    319           }
    320           return true;
    321 
    322         error:
    323           return false;
    324         }
    325 
    326         static scoped_ptr<base::Value> WriteToValue(const dom_distiller::proto::MarkupInfo& message) {
    327           scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue());
    328           if (message.has_title()) {
    329             dict->SetString("1", message.title());
    330           }
    331           if (message.has_type()) {
    332             dict->SetString("2", message.type());
    333           }
    334           if (message.has_url()) {
    335             dict->SetString("3", message.url());
    336           }
    337           if (message.has_description()) {
    338             dict->SetString("4", message.description());
    339           }
    340           if (message.has_publisher()) {
    341             dict->SetString("5", message.publisher());
    342           }
    343           if (message.has_copyright()) {
    344             dict->SetString("6", message.copyright());
    345           }
    346           if (message.has_author()) {
    347             dict->SetString("7", message.author());
    348           }
    349           if (message.has_article()) {
    350             scoped_ptr<base::Value> inner_message_value =
    351                 dom_distiller::proto::json::MarkupArticle::WriteToValue(message.article());
    352             dict->Set("8", inner_message_value.release());
    353           }
    354           base::ListValue* field_list = new base::ListValue();
    355           dict->Set("9", field_list);
    356           for (int i = 0; i < message.images_size(); ++i) {
    357             scoped_ptr<base::Value> inner_message_value =
    358                 dom_distiller::proto::json::MarkupImage::WriteToValue(message.images(i));
    359             field_list->Append(inner_message_value.release());
    360           }
    361           return dict.PassAs<base::Value>();
    362         }
    363       };
    364 
    365       class TimingInfo {
    366        public:
    367         static bool ReadFromValue(const base::Value* json, dom_distiller::proto::TimingInfo* message) {
    368           const base::DictionaryValue* dict;
    369           if (!json->GetAsDictionary(&dict)) goto error;
    370           if (dict->HasKey("1")) {
    371             double field_value;
    372             if (!dict->GetDouble("1", &field_value)) {
    373               goto error;
    374             }
    375             message->set_markup_parsing_time(field_value);
    376           }
    377           if (dict->HasKey("2")) {
    378             double field_value;
    379             if (!dict->GetDouble("2", &field_value)) {
    380               goto error;
    381             }
    382             message->set_document_construction_time(field_value);
    383           }
    384           if (dict->HasKey("3")) {
    385             double field_value;
    386             if (!dict->GetDouble("3", &field_value)) {
    387               goto error;
    388             }
    389             message->set_article_processing_time(field_value);
    390           }
    391           if (dict->HasKey("4")) {
    392             double field_value;
    393             if (!dict->GetDouble("4", &field_value)) {
    394               goto error;
    395             }
    396             message->set_formatting_time(field_value);
    397           }
    398           if (dict->HasKey("5")) {
    399             double field_value;
    400             if (!dict->GetDouble("5", &field_value)) {
    401               goto error;
    402             }
    403             message->set_total_time(field_value);
    404           }
    405           return true;
    406 
    407         error:
    408           return false;
    409         }
    410 
    411         static scoped_ptr<base::Value> WriteToValue(const dom_distiller::proto::TimingInfo& message) {
    412           scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue());
    413           if (message.has_markup_parsing_time()) {
    414             dict->SetDouble("1", message.markup_parsing_time());
    415           }
    416           if (message.has_document_construction_time()) {
    417             dict->SetDouble("2", message.document_construction_time());
    418           }
    419           if (message.has_article_processing_time()) {
    420             dict->SetDouble("3", message.article_processing_time());
    421           }
    422           if (message.has_formatting_time()) {
    423             dict->SetDouble("4", message.formatting_time());
    424           }
    425           if (message.has_total_time()) {
    426             dict->SetDouble("5", message.total_time());
    427           }
    428           return dict.PassAs<base::Value>();
    429         }
    430       };
    431 
    432       class DebugInfo {
    433        public:
    434         static bool ReadFromValue(const base::Value* json, dom_distiller::proto::DebugInfo* message) {
    435           const base::DictionaryValue* dict;
    436           if (!json->GetAsDictionary(&dict)) goto error;
    437           if (dict->HasKey("1")) {
    438             std::string field_value;
    439             if (!dict->GetString("1", &field_value)) {
    440               goto error;
    441             }
    442             message->set_log(field_value);
    443           }
    444           return true;
    445 
    446         error:
    447           return false;
    448         }
    449 
    450         static scoped_ptr<base::Value> WriteToValue(const dom_distiller::proto::DebugInfo& message) {
    451           scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue());
    452           if (message.has_log()) {
    453             dict->SetString("1", message.log());
    454           }
    455           return dict.PassAs<base::Value>();
    456         }
    457       };
    458 
    459       class StatisticsInfo {
    460        public:
    461         static bool ReadFromValue(const base::Value* json, dom_distiller::proto::StatisticsInfo* message) {
    462           const base::DictionaryValue* dict;
    463           if (!json->GetAsDictionary(&dict)) goto error;
    464           if (dict->HasKey("1")) {
    465             int field_value;
    466             if (!dict->GetInteger("1", &field_value)) {
    467               goto error;
    468             }
    469             message->set_word_count(field_value);
    470           }
    471           return true;
    472 
    473         error:
    474           return false;
    475         }
    476 
    477         static scoped_ptr<base::Value> WriteToValue(const dom_distiller::proto::StatisticsInfo& message) {
    478           scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue());
    479           if (message.has_word_count()) {
    480             dict->SetInteger("1", message.word_count());
    481           }
    482           return dict.PassAs<base::Value>();
    483         }
    484       };
    485 
    486       class DomDistillerResult {
    487        public:
    488         static bool ReadFromValue(const base::Value* json, dom_distiller::proto::DomDistillerResult* message) {
    489           const base::DictionaryValue* dict;
    490           if (!json->GetAsDictionary(&dict)) goto error;
    491           if (dict->HasKey("1")) {
    492             std::string field_value;
    493             if (!dict->GetString("1", &field_value)) {
    494               goto error;
    495             }
    496             message->set_title(field_value);
    497           }
    498           if (dict->HasKey("2")) {
    499             const base::Value* inner_message_value;
    500             if (!dict->Get("2", &inner_message_value)) {
    501               goto error;
    502             }
    503             if (!dom_distiller::proto::json::DistilledContent::ReadFromValue(inner_message_value, message->mutable_distilled_content())) {
    504               goto error;
    505             }
    506           }
    507           if (dict->HasKey("3")) {
    508             const base::Value* inner_message_value;
    509             if (!dict->Get("3", &inner_message_value)) {
    510               goto error;
    511             }
    512             if (!dom_distiller::proto::json::PaginationInfo::ReadFromValue(inner_message_value, message->mutable_pagination_info())) {
    513               goto error;
    514             }
    515           }
    516           if (dict->HasKey("4")) {
    517             const base::ListValue* field_list;
    518             if (!dict->GetList("4", &field_list)) {
    519               goto error;
    520             }
    521             for (size_t i = 0; i < field_list->GetSize(); ++i) {
    522               std::string field_value;
    523               if (!field_list->GetString(i, &field_value)) {
    524                 goto error;
    525               }
    526               message->add_image_urls(field_value);
    527             }
    528           }
    529           if (dict->HasKey("5")) {
    530             const base::Value* inner_message_value;
    531             if (!dict->Get("5", &inner_message_value)) {
    532               goto error;
    533             }
    534             if (!dom_distiller::proto::json::MarkupInfo::ReadFromValue(inner_message_value, message->mutable_markup_info())) {
    535               goto error;
    536             }
    537           }
    538           if (dict->HasKey("6")) {
    539             const base::Value* inner_message_value;
    540             if (!dict->Get("6", &inner_message_value)) {
    541               goto error;
    542             }
    543             if (!dom_distiller::proto::json::TimingInfo::ReadFromValue(inner_message_value, message->mutable_timing_info())) {
    544               goto error;
    545             }
    546           }
    547           if (dict->HasKey("7")) {
    548             const base::Value* inner_message_value;
    549             if (!dict->Get("7", &inner_message_value)) {
    550               goto error;
    551             }
    552             if (!dom_distiller::proto::json::DebugInfo::ReadFromValue(inner_message_value, message->mutable_debug_info())) {
    553               goto error;
    554             }
    555           }
    556           if (dict->HasKey("8")) {
    557             const base::Value* inner_message_value;
    558             if (!dict->Get("8", &inner_message_value)) {
    559               goto error;
    560             }
    561             if (!dom_distiller::proto::json::StatisticsInfo::ReadFromValue(inner_message_value, message->mutable_statistics_info())) {
    562               goto error;
    563             }
    564           }
    565           return true;
    566 
    567         error:
    568           return false;
    569         }
    570 
    571         static scoped_ptr<base::Value> WriteToValue(const dom_distiller::proto::DomDistillerResult& message) {
    572           scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue());
    573           if (message.has_title()) {
    574             dict->SetString("1", message.title());
    575           }
    576           if (message.has_distilled_content()) {
    577             scoped_ptr<base::Value> inner_message_value =
    578                 dom_distiller::proto::json::DistilledContent::WriteToValue(message.distilled_content());
    579             dict->Set("2", inner_message_value.release());
    580           }
    581           if (message.has_pagination_info()) {
    582             scoped_ptr<base::Value> inner_message_value =
    583                 dom_distiller::proto::json::PaginationInfo::WriteToValue(message.pagination_info());
    584             dict->Set("3", inner_message_value.release());
    585           }
    586           base::ListValue* field_list = new base::ListValue();
    587           dict->Set("4", field_list);
    588           for (int i = 0; i < message.image_urls_size(); ++i) {
    589             field_list->AppendString(message.image_urls(i));
    590           }
    591           if (message.has_markup_info()) {
    592             scoped_ptr<base::Value> inner_message_value =
    593                 dom_distiller::proto::json::MarkupInfo::WriteToValue(message.markup_info());
    594             dict->Set("5", inner_message_value.release());
    595           }
    596           if (message.has_timing_info()) {
    597             scoped_ptr<base::Value> inner_message_value =
    598                 dom_distiller::proto::json::TimingInfo::WriteToValue(message.timing_info());
    599             dict->Set("6", inner_message_value.release());
    600           }
    601           if (message.has_debug_info()) {
    602             scoped_ptr<base::Value> inner_message_value =
    603                 dom_distiller::proto::json::DebugInfo::WriteToValue(message.debug_info());
    604             dict->Set("7", inner_message_value.release());
    605           }
    606           if (message.has_statistics_info()) {
    607             scoped_ptr<base::Value> inner_message_value =
    608                 dom_distiller::proto::json::StatisticsInfo::WriteToValue(message.statistics_info());
    609             dict->Set("8", inner_message_value.release());
    610           }
    611           return dict.PassAs<base::Value>();
    612         }
    613       };
    614 
    615       class DomDistillerOptions {
    616        public:
    617         static bool ReadFromValue(const base::Value* json, dom_distiller::proto::DomDistillerOptions* message) {
    618           const base::DictionaryValue* dict;
    619           if (!json->GetAsDictionary(&dict)) goto error;
    620           if (dict->HasKey("1")) {
    621             bool field_value;
    622             if (!dict->GetBoolean("1", &field_value)) {
    623               goto error;
    624             }
    625             message->set_extract_text_only(field_value);
    626           }
    627           if (dict->HasKey("2")) {
    628             int field_value;
    629             if (!dict->GetInteger("2", &field_value)) {
    630               goto error;
    631             }
    632             message->set_debug_level(field_value);
    633           }
    634           return true;
    635 
    636         error:
    637           return false;
    638         }
    639 
    640         static scoped_ptr<base::Value> WriteToValue(const dom_distiller::proto::DomDistillerOptions& message) {
    641           scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue());
    642           if (message.has_extract_text_only()) {
    643             dict->SetBoolean("1", message.extract_text_only());
    644           }
    645           if (message.has_debug_level()) {
    646             dict->SetInteger("2", message.debug_level());
    647           }
    648           return dict.PassAs<base::Value>();
    649         }
    650       };
    651 
    652     }
    653   }
    654 }
    655