Home | History | Annotate | Download | only in profile_resetter
      1 // Copyright 2013 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef CHROME_BROWSER_PROFILE_RESETTER_JTL_INSTRUCTIONS_H_
      6 #define CHROME_BROWSER_PROFILE_RESETTER_JTL_INSTRUCTIONS_H_
      7 
      8 #include <string>
      9 
     10 // These are instructions to generate binary code for JTL programs.
     11 
     12 #define VALUE_FALSE std::string(1, '\x00')
     13 #define VALUE_TRUE std::string(1, '\x01')
     14 
     15 #define OP_NAVIGATE(key) std::string(1, '\x00') + key
     16 #define OP_NAVIGATE_ANY std::string(1, '\x01')
     17 #define OP_NAVIGATE_BACK std::string(1, '\x02')
     18 #define OP_STORE_BOOL(name, value) std::string(1, '\x10') + name + value
     19 #define OP_COMPARE_STORED_BOOL(name, value, default_value) \
     20     std::string(1, '\x11') + name + value + default_value
     21 #define OP_STORE_HASH(name, value) std::string(1, '\x12') + name + value
     22 #define OP_COMPARE_STORED_HASH(name, value, default_value) \
     23     std::string(1, '\x13') + name + value + default_value
     24 #define OP_STORE_NODE_BOOL(name) std::string(1, '\x14') + name
     25 #define OP_STORE_NODE_HASH(name) std::string(1, '\x15') + name
     26 #define OP_STORE_NODE_REGISTERABLE_DOMAIN_HASH(name) \
     27     std::string(1, '\x16') + name
     28 #define OP_COMPARE_NODE_BOOL(value) std::string(1, '\x20') + value
     29 #define OP_COMPARE_NODE_HASH(value) std::string(1, '\x21') + value
     30 #define OP_COMPARE_NODE_HASH_NOT(value) std::string(1, '\x22') + value
     31 #define OP_COMPARE_NODE_TO_STORED_BOOL(name) std::string(1, '\x23') + name
     32 #define OP_COMPARE_NODE_TO_STORED_HASH(name) std::string(1, '\x24') + name
     33 #define OP_COMPARE_NODE_SUBSTRING(pattern, pattern_length, pattern_sum) \
     34     std::string(1, '\x25') + pattern + pattern_length + pattern_sum
     35 #define OP_STOP_EXECUTING_SENTENCE std::string(1, '\x30')
     36 #define OP_END_OF_SENTENCE std::string(1, '\x31')
     37 
     38 #endif  // CHROME_BROWSER_PROFILE_RESETTER_JTL_INSTRUCTIONS_H_
     39