Home | History | Annotate | Download | only in trunks
      1 //
      2 // Copyright (C) 2014 The Android Open Source Project
      3 //
      4 // Licensed under the Apache License, Version 2.0 (the "License");
      5 // you may not use this file except in compliance with the License.
      6 // You may obtain a copy of the License at
      7 //
      8 //      http://www.apache.org/licenses/LICENSE-2.0
      9 //
     10 // Unless required by applicable law or agreed to in writing, software
     11 // distributed under the License is distributed on an "AS IS" BASIS,
     12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13 // See the License for the specific language governing permissions and
     14 // limitations under the License.
     15 //
     16 
     17 #ifndef TRUNKS_MOCK_TPM_H_
     18 #define TRUNKS_MOCK_TPM_H_
     19 
     20 #include <string>
     21 
     22 #include <base/callback.h>
     23 #include <gmock/gmock.h>
     24 
     25 #include "trunks/tpm_generated.h"
     26 
     27 namespace trunks {
     28 
     29 class MockTpm : public Tpm {
     30  public:
     31   MockTpm();
     32   ~MockTpm() override;
     33 
     34   MOCK_METHOD3(Startup,
     35       void(const TPM_SU& startup_type,
     36            AuthorizationDelegate* authorization_delegate,
     37            const StartupResponse& callback));
     38   MOCK_METHOD2(StartupSync,
     39       TPM_RC(const TPM_SU& startup_type,
     40              AuthorizationDelegate* authorization_delegate));
     41   MOCK_METHOD3(Shutdown,
     42       void(const TPM_SU& shutdown_type,
     43            AuthorizationDelegate* authorization_delegate,
     44            const ShutdownResponse& callback));
     45   MOCK_METHOD2(ShutdownSync,
     46       TPM_RC(const TPM_SU& shutdown_type,
     47              AuthorizationDelegate* authorization_delegate));
     48   MOCK_METHOD3(SelfTest,
     49       void(const TPMI_YES_NO& full_test,
     50            AuthorizationDelegate* authorization_delegate,
     51            const SelfTestResponse& callback));
     52   MOCK_METHOD2(SelfTestSync,
     53       TPM_RC(const TPMI_YES_NO& full_test,
     54              AuthorizationDelegate* authorization_delegate));
     55   MOCK_METHOD3(IncrementalSelfTest,
     56       void(const TPML_ALG& to_test,
     57            AuthorizationDelegate* authorization_delegate,
     58            const IncrementalSelfTestResponse& callback));
     59   MOCK_METHOD3(IncrementalSelfTestSync,
     60       TPM_RC(const TPML_ALG& to_test,
     61              TPML_ALG* to_do_list,
     62              AuthorizationDelegate* authorization_delegate));
     63   MOCK_METHOD2(GetTestResult,
     64       void(AuthorizationDelegate* authorization_delegate,
     65            const GetTestResultResponse& callback));
     66   MOCK_METHOD3(GetTestResultSync,
     67       TPM_RC(TPM2B_MAX_BUFFER* out_data,
     68              TPM_RC* test_result,
     69              AuthorizationDelegate* authorization_delegate));
     70   // Too many args to mock, forward to *Short version.
     71   void StartAuthSession(const TPMI_DH_OBJECT& tpm_key,
     72                         const std::string& tpm_key_name,
     73                         const TPMI_DH_ENTITY& bind,
     74                         const std::string& bind_name,
     75                         const TPM2B_NONCE& nonce_caller,
     76                         const TPM2B_ENCRYPTED_SECRET& encrypted_salt,
     77                         const TPM_SE& session_type,
     78                         const TPMT_SYM_DEF& symmetric,
     79                         const TPMI_ALG_HASH& auth_hash,
     80                         AuthorizationDelegate* authorization_delegate,
     81                         const StartAuthSessionResponse& callback) override;
     82   MOCK_METHOD9(StartAuthSessionShort,
     83       void(const TPMI_DH_OBJECT& tpm_key,
     84            const TPMI_DH_ENTITY& bind,
     85            const TPM2B_NONCE& nonce_caller,
     86            const TPM2B_ENCRYPTED_SECRET& encrypted_salt,
     87            const TPM_SE& session_type,
     88            const TPMT_SYM_DEF& symmetric,
     89            const TPMI_ALG_HASH& auth_hash,
     90            AuthorizationDelegate* authorization_delegate,
     91            const StartAuthSessionResponse& callback));
     92   // Too many args to mock, forward to *Short version.
     93   TPM_RC StartAuthSessionSync(
     94       const TPMI_DH_OBJECT& tpm_key,
     95       const std::string& tpm_key_name,
     96       const TPMI_DH_ENTITY& bind,
     97       const std::string& bind_name,
     98       const TPM2B_NONCE& nonce_caller,
     99       const TPM2B_ENCRYPTED_SECRET& encrypted_salt,
    100       const TPM_SE& session_type,
    101       const TPMT_SYM_DEF& symmetric,
    102       const TPMI_ALG_HASH& auth_hash,
    103       TPMI_SH_AUTH_SESSION* session_handle,
    104       TPM2B_NONCE* nonce_tpm,
    105       AuthorizationDelegate* authorization_delegate) override;
    106   MOCK_METHOD10(StartAuthSessionSyncShort,
    107       TPM_RC(const TPMI_DH_OBJECT& tpm_key,
    108              const TPMI_DH_ENTITY& bind,
    109              const TPM2B_NONCE& nonce_caller,
    110              const TPM2B_ENCRYPTED_SECRET& encrypted_salt,
    111              const TPM_SE& session_type,
    112              const TPMT_SYM_DEF& symmetric,
    113              const TPMI_ALG_HASH& auth_hash,
    114              TPMI_SH_AUTH_SESSION* session_handle,
    115              TPM2B_NONCE* nonce_tpm,
    116              AuthorizationDelegate* authorization_delegate));
    117   MOCK_METHOD4(PolicyRestart,
    118       void(const TPMI_SH_POLICY& session_handle,
    119            const std::string& session_handle_name,
    120            AuthorizationDelegate* authorization_delegate,
    121            const PolicyRestartResponse& callback));
    122   MOCK_METHOD3(PolicyRestartSync,
    123       TPM_RC(const TPMI_SH_POLICY& session_handle,
    124              const std::string& session_handle_name,
    125              AuthorizationDelegate* authorization_delegate));
    126   MOCK_METHOD8(Create,
    127       void(const TPMI_DH_OBJECT& parent_handle,
    128            const std::string& parent_handle_name,
    129            const TPM2B_SENSITIVE_CREATE& in_sensitive,
    130            const TPM2B_PUBLIC& in_public,
    131            const TPM2B_DATA& outside_info,
    132            const TPML_PCR_SELECTION& creation_pcr,
    133            AuthorizationDelegate* authorization_delegate,
    134            const CreateResponse& callback));
    135   // Too many args to mock, forward to *Short version.
    136   TPM_RC CreateSync(const TPMI_DH_OBJECT& parent_handle,
    137                     const std::string& parent_handle_name,
    138                     const TPM2B_SENSITIVE_CREATE& in_sensitive,
    139                     const TPM2B_PUBLIC& in_public,
    140                     const TPM2B_DATA& outside_info,
    141                     const TPML_PCR_SELECTION& creation_pcr,
    142                     TPM2B_PRIVATE* out_private,
    143                     TPM2B_PUBLIC* out_public,
    144                     TPM2B_CREATION_DATA* creation_data,
    145                     TPM2B_DIGEST* creation_hash,
    146                     TPMT_TK_CREATION* creation_ticket,
    147                     AuthorizationDelegate* authorization_delegate) override;
    148   MOCK_METHOD10(CreateSyncShort,
    149       TPM_RC(const TPMI_DH_OBJECT& parent_handle,
    150              const TPM2B_SENSITIVE_CREATE& in_sensitive,
    151              const TPM2B_PUBLIC& in_public,
    152              const TPML_PCR_SELECTION& creation_pcr,
    153              TPM2B_PRIVATE* out_private,
    154              TPM2B_PUBLIC* out_public,
    155              TPM2B_CREATION_DATA* creation_data,
    156              TPM2B_DIGEST* creation_hash,
    157              TPMT_TK_CREATION* creation_ticket,
    158              AuthorizationDelegate* authorization_delegate));
    159   MOCK_METHOD6(Load,
    160       void(const TPMI_DH_OBJECT& parent_handle,
    161            const std::string& parent_handle_name,
    162            const TPM2B_PRIVATE& in_private,
    163            const TPM2B_PUBLIC& in_public,
    164            AuthorizationDelegate* authorization_delegate,
    165            const LoadResponse& callback));
    166   MOCK_METHOD7(LoadSync,
    167       TPM_RC(const TPMI_DH_OBJECT& parent_handle,
    168              const std::string& parent_handle_name,
    169              const TPM2B_PRIVATE& in_private,
    170              const TPM2B_PUBLIC& in_public,
    171              TPM_HANDLE* object_handle,
    172              TPM2B_NAME* name,
    173              AuthorizationDelegate* authorization_delegate));
    174   MOCK_METHOD5(LoadExternal,
    175       void(const TPM2B_SENSITIVE& in_private,
    176            const TPM2B_PUBLIC& in_public,
    177            const TPMI_RH_HIERARCHY& hierarchy,
    178            AuthorizationDelegate* authorization_delegate,
    179            const LoadExternalResponse& callback));
    180   MOCK_METHOD6(LoadExternalSync,
    181       TPM_RC(const TPM2B_SENSITIVE& in_private,
    182              const TPM2B_PUBLIC& in_public,
    183              const TPMI_RH_HIERARCHY& hierarchy,
    184              TPM_HANDLE* object_handle,
    185              TPM2B_NAME* name,
    186              AuthorizationDelegate* authorization_delegate));
    187   MOCK_METHOD4(ReadPublic,
    188       void(const TPMI_DH_OBJECT& object_handle,
    189            const std::string& object_handle_name,
    190            AuthorizationDelegate* authorization_delegate,
    191            const ReadPublicResponse& callback));
    192   MOCK_METHOD6(ReadPublicSync,
    193       TPM_RC(const TPMI_DH_OBJECT& object_handle,
    194              const std::string& object_handle_name,
    195              TPM2B_PUBLIC* out_public,
    196              TPM2B_NAME* name,
    197              TPM2B_NAME* qualified_name,
    198              AuthorizationDelegate* authorization_delegate));
    199   MOCK_METHOD8(ActivateCredential,
    200       void(const TPMI_DH_OBJECT& activate_handle,
    201            const std::string& activate_handle_name,
    202            const TPMI_DH_OBJECT& key_handle,
    203            const std::string& key_handle_name,
    204            const TPM2B_ID_OBJECT& credential_blob,
    205            const TPM2B_ENCRYPTED_SECRET& secret,
    206            AuthorizationDelegate* authorization_delegate,
    207            const ActivateCredentialResponse& callback));
    208   MOCK_METHOD8(ActivateCredentialSync,
    209       TPM_RC(const TPMI_DH_OBJECT& activate_handle,
    210              const std::string& activate_handle_name,
    211              const TPMI_DH_OBJECT& key_handle,
    212              const std::string& key_handle_name,
    213              const TPM2B_ID_OBJECT& credential_blob,
    214              const TPM2B_ENCRYPTED_SECRET& secret,
    215              TPM2B_DIGEST* cert_info,
    216              AuthorizationDelegate* authorization_delegate));
    217   MOCK_METHOD6(MakeCredential,
    218       void(const TPMI_DH_OBJECT& handle,
    219            const std::string& handle_name,
    220            const TPM2B_DIGEST& credential,
    221            const TPM2B_NAME& object_name,
    222            AuthorizationDelegate* authorization_delegate,
    223            const MakeCredentialResponse& callback));
    224   MOCK_METHOD7(MakeCredentialSync,
    225       TPM_RC(const TPMI_DH_OBJECT& handle,
    226              const std::string& handle_name,
    227              const TPM2B_DIGEST& credential,
    228              const TPM2B_NAME& object_name,
    229              TPM2B_ID_OBJECT* credential_blob,
    230              TPM2B_ENCRYPTED_SECRET* secret,
    231              AuthorizationDelegate* authorization_delegate));
    232   MOCK_METHOD4(Unseal,
    233       void(const TPMI_DH_OBJECT& item_handle,
    234            const std::string& item_handle_name,
    235            AuthorizationDelegate* authorization_delegate,
    236            const UnsealResponse& callback));
    237   MOCK_METHOD4(UnsealSync,
    238       TPM_RC(const TPMI_DH_OBJECT& item_handle,
    239              const std::string& item_handle_name,
    240              TPM2B_SENSITIVE_DATA* out_data,
    241              AuthorizationDelegate* authorization_delegate));
    242   MOCK_METHOD7(ObjectChangeAuth,
    243       void(const TPMI_DH_OBJECT& object_handle,
    244            const std::string& object_handle_name,
    245            const TPMI_DH_OBJECT& parent_handle,
    246            const std::string& parent_handle_name,
    247            const TPM2B_AUTH& new_auth,
    248            AuthorizationDelegate* authorization_delegate,
    249            const ObjectChangeAuthResponse& callback));
    250   MOCK_METHOD7(ObjectChangeAuthSync,
    251       TPM_RC(const TPMI_DH_OBJECT& object_handle,
    252              const std::string& object_handle_name,
    253              const TPMI_DH_OBJECT& parent_handle,
    254              const std::string& parent_handle_name,
    255              const TPM2B_AUTH& new_auth,
    256              TPM2B_PRIVATE* out_private,
    257              AuthorizationDelegate* authorization_delegate));
    258   MOCK_METHOD8(Duplicate,
    259       void(const TPMI_DH_OBJECT& object_handle,
    260            const std::string& object_handle_name,
    261            const TPMI_DH_OBJECT& new_parent_handle,
    262            const std::string& new_parent_handle_name,
    263            const TPM2B_DATA& encryption_key_in,
    264            const TPMT_SYM_DEF_OBJECT& symmetric_alg,
    265            AuthorizationDelegate* authorization_delegate,
    266            const DuplicateResponse& callback));
    267   MOCK_METHOD10(DuplicateSync,
    268       TPM_RC(const TPMI_DH_OBJECT& object_handle,
    269              const std::string& object_handle_name,
    270              const TPMI_DH_OBJECT& new_parent_handle,
    271              const std::string& new_parent_handle_name,
    272              const TPM2B_DATA& encryption_key_in,
    273              const TPMT_SYM_DEF_OBJECT& symmetric_alg,
    274              TPM2B_DATA* encryption_key_out,
    275              TPM2B_PRIVATE* duplicate,
    276              TPM2B_ENCRYPTED_SECRET* out_sym_seed,
    277              AuthorizationDelegate* authorization_delegate));
    278   MOCK_METHOD9(Rewrap,
    279       void(const TPMI_DH_OBJECT& old_parent,
    280            const std::string& old_parent_name,
    281            const TPMI_DH_OBJECT& new_parent,
    282            const std::string& new_parent_name,
    283            const TPM2B_PRIVATE& in_duplicate,
    284            const TPM2B_NAME& name,
    285            const TPM2B_ENCRYPTED_SECRET& in_sym_seed,
    286            AuthorizationDelegate* authorization_delegate,
    287            const RewrapResponse& callback));
    288   MOCK_METHOD10(RewrapSync,
    289       TPM_RC(const TPMI_DH_OBJECT& old_parent,
    290              const std::string& old_parent_name,
    291              const TPMI_DH_OBJECT& new_parent,
    292              const std::string& new_parent_name,
    293              const TPM2B_PRIVATE& in_duplicate,
    294              const TPM2B_NAME& name,
    295              const TPM2B_ENCRYPTED_SECRET& in_sym_seed,
    296              TPM2B_PRIVATE* out_duplicate,
    297              TPM2B_ENCRYPTED_SECRET* out_sym_seed,
    298              AuthorizationDelegate* authorization_delegate));
    299   MOCK_METHOD9(Import,
    300       void(const TPMI_DH_OBJECT& parent_handle,
    301            const std::string& parent_handle_name,
    302            const TPM2B_DATA& encryption_key,
    303            const TPM2B_PUBLIC& object_public,
    304            const TPM2B_PRIVATE& duplicate,
    305            const TPM2B_ENCRYPTED_SECRET& in_sym_seed,
    306            const TPMT_SYM_DEF_OBJECT& symmetric_alg,
    307            AuthorizationDelegate* authorization_delegate,
    308            const ImportResponse& callback));
    309   MOCK_METHOD9(ImportSync,
    310       TPM_RC(const TPMI_DH_OBJECT& parent_handle,
    311              const std::string& parent_handle_name,
    312              const TPM2B_DATA& encryption_key,
    313              const TPM2B_PUBLIC& object_public,
    314              const TPM2B_PRIVATE& duplicate,
    315              const TPM2B_ENCRYPTED_SECRET& in_sym_seed,
    316              const TPMT_SYM_DEF_OBJECT& symmetric_alg,
    317              TPM2B_PRIVATE* out_private,
    318              AuthorizationDelegate* authorization_delegate));
    319   MOCK_METHOD7(RSA_Encrypt,
    320       void(const TPMI_DH_OBJECT& key_handle,
    321            const std::string& key_handle_name,
    322            const TPM2B_PUBLIC_KEY_RSA& message,
    323            const TPMT_RSA_DECRYPT& in_scheme,
    324            const TPM2B_DATA& label,
    325            AuthorizationDelegate* authorization_delegate,
    326            const RSA_EncryptResponse& callback));
    327   MOCK_METHOD7(RSA_EncryptSync,
    328       TPM_RC(const TPMI_DH_OBJECT& key_handle,
    329              const std::string& key_handle_name,
    330              const TPM2B_PUBLIC_KEY_RSA& message,
    331              const TPMT_RSA_DECRYPT& in_scheme,
    332              const TPM2B_DATA& label,
    333              TPM2B_PUBLIC_KEY_RSA* out_data,
    334              AuthorizationDelegate* authorization_delegate));
    335   MOCK_METHOD7(RSA_Decrypt,
    336       void(const TPMI_DH_OBJECT& key_handle,
    337            const std::string& key_handle_name,
    338            const TPM2B_PUBLIC_KEY_RSA& cipher_text,
    339            const TPMT_RSA_DECRYPT& in_scheme,
    340            const TPM2B_DATA& label,
    341            AuthorizationDelegate* authorization_delegate,
    342            const RSA_DecryptResponse& callback));
    343   MOCK_METHOD7(RSA_DecryptSync,
    344       TPM_RC(const TPMI_DH_OBJECT& key_handle,
    345              const std::string& key_handle_name,
    346              const TPM2B_PUBLIC_KEY_RSA& cipher_text,
    347              const TPMT_RSA_DECRYPT& in_scheme,
    348              const TPM2B_DATA& label,
    349              TPM2B_PUBLIC_KEY_RSA* message,
    350              AuthorizationDelegate* authorization_delegate));
    351   MOCK_METHOD4(ECDH_KeyGen,
    352       void(const TPMI_DH_OBJECT& key_handle,
    353            const std::string& key_handle_name,
    354            AuthorizationDelegate* authorization_delegate,
    355            const ECDH_KeyGenResponse& callback));
    356   MOCK_METHOD5(ECDH_KeyGenSync,
    357       TPM_RC(const TPMI_DH_OBJECT& key_handle,
    358              const std::string& key_handle_name,
    359              TPM2B_ECC_POINT* z_point,
    360              TPM2B_ECC_POINT* pub_point,
    361              AuthorizationDelegate* authorization_delegate));
    362   MOCK_METHOD5(ECDH_ZGen,
    363       void(const TPMI_DH_OBJECT& key_handle,
    364            const std::string& key_handle_name,
    365            const TPM2B_ECC_POINT& in_point,
    366            AuthorizationDelegate* authorization_delegate,
    367            const ECDH_ZGenResponse& callback));
    368   MOCK_METHOD5(ECDH_ZGenSync,
    369       TPM_RC(const TPMI_DH_OBJECT& key_handle,
    370              const std::string& key_handle_name,
    371              const TPM2B_ECC_POINT& in_point,
    372              TPM2B_ECC_POINT* out_point,
    373              AuthorizationDelegate* authorization_delegate));
    374   MOCK_METHOD3(ECC_Parameters,
    375       void(const TPMI_ECC_CURVE& curve_id,
    376            AuthorizationDelegate* authorization_delegate,
    377            const ECC_ParametersResponse& callback));
    378   MOCK_METHOD3(ECC_ParametersSync,
    379       TPM_RC(const TPMI_ECC_CURVE& curve_id,
    380              TPMS_ALGORITHM_DETAIL_ECC* parameters,
    381              AuthorizationDelegate* authorization_delegate));
    382   MOCK_METHOD8(ZGen_2Phase,
    383       void(const TPMI_DH_OBJECT& key_a,
    384            const std::string& key_a_name,
    385            const TPM2B_ECC_POINT& in_qs_b,
    386            const TPM2B_ECC_POINT& in_qe_b,
    387            const TPMI_ECC_KEY_EXCHANGE& in_scheme,
    388            const UINT16& counter,
    389            AuthorizationDelegate* authorization_delegate,
    390            const ZGen_2PhaseResponse& callback));
    391   MOCK_METHOD9(ZGen_2PhaseSync,
    392       TPM_RC(const TPMI_DH_OBJECT& key_a,
    393              const std::string& key_a_name,
    394              const TPM2B_ECC_POINT& in_qs_b,
    395              const TPM2B_ECC_POINT& in_qe_b,
    396              const TPMI_ECC_KEY_EXCHANGE& in_scheme,
    397              const UINT16& counter,
    398              TPM2B_ECC_POINT* out_z1,
    399              TPM2B_ECC_POINT* out_z2,
    400              AuthorizationDelegate* authorization_delegate));
    401   MOCK_METHOD8(EncryptDecrypt,
    402       void(const TPMI_DH_OBJECT& key_handle,
    403            const std::string& key_handle_name,
    404            const TPMI_YES_NO& decrypt,
    405            const TPMI_ALG_SYM_MODE& mode,
    406            const TPM2B_IV& iv_in,
    407            const TPM2B_MAX_BUFFER& in_data,
    408            AuthorizationDelegate* authorization_delegate,
    409            const EncryptDecryptResponse& callback));
    410   MOCK_METHOD9(EncryptDecryptSync,
    411       TPM_RC(const TPMI_DH_OBJECT& key_handle,
    412              const std::string& key_handle_name,
    413              const TPMI_YES_NO& decrypt,
    414              const TPMI_ALG_SYM_MODE& mode,
    415              const TPM2B_IV& iv_in,
    416              const TPM2B_MAX_BUFFER& in_data,
    417              TPM2B_MAX_BUFFER* out_data,
    418              TPM2B_IV* iv_out,
    419              AuthorizationDelegate* authorization_delegate));
    420   MOCK_METHOD5(Hash,
    421       void(const TPM2B_MAX_BUFFER& data,
    422            const TPMI_ALG_HASH& hash_alg,
    423            const TPMI_RH_HIERARCHY& hierarchy,
    424            AuthorizationDelegate* authorization_delegate,
    425            const HashResponse& callback));
    426   MOCK_METHOD6(HashSync,
    427       TPM_RC(const TPM2B_MAX_BUFFER& data,
    428              const TPMI_ALG_HASH& hash_alg,
    429              const TPMI_RH_HIERARCHY& hierarchy,
    430              TPM2B_DIGEST* out_hash,
    431              TPMT_TK_HASHCHECK* validation,
    432              AuthorizationDelegate* authorization_delegate));
    433   MOCK_METHOD6(HMAC,
    434       void(const TPMI_DH_OBJECT& handle,
    435            const std::string& handle_name,
    436            const TPM2B_MAX_BUFFER& buffer,
    437            const TPMI_ALG_HASH& hash_alg,
    438            AuthorizationDelegate* authorization_delegate,
    439            const HMACResponse& callback));
    440   MOCK_METHOD6(HMACSync,
    441       TPM_RC(const TPMI_DH_OBJECT& handle,
    442              const std::string& handle_name,
    443              const TPM2B_MAX_BUFFER& buffer,
    444              const TPMI_ALG_HASH& hash_alg,
    445              TPM2B_DIGEST* out_hmac,
    446              AuthorizationDelegate* authorization_delegate));
    447   MOCK_METHOD3(GetRandom,
    448       void(const UINT16& bytes_requested,
    449            AuthorizationDelegate* authorization_delegate,
    450            const GetRandomResponse& callback));
    451   MOCK_METHOD3(GetRandomSync,
    452       TPM_RC(const UINT16& bytes_requested,
    453              TPM2B_DIGEST* random_bytes,
    454              AuthorizationDelegate* authorization_delegate));
    455   MOCK_METHOD3(StirRandom,
    456       void(const TPM2B_SENSITIVE_DATA& in_data,
    457            AuthorizationDelegate* authorization_delegate,
    458            const StirRandomResponse& callback));
    459   MOCK_METHOD2(StirRandomSync,
    460       TPM_RC(const TPM2B_SENSITIVE_DATA& in_data,
    461              AuthorizationDelegate* authorization_delegate));
    462   MOCK_METHOD6(HMAC_Start,
    463       void(const TPMI_DH_OBJECT& handle,
    464            const std::string& handle_name,
    465            const TPM2B_AUTH& auth,
    466            const TPMI_ALG_HASH& hash_alg,
    467            AuthorizationDelegate* authorization_delegate,
    468            const HMAC_StartResponse& callback));
    469   MOCK_METHOD6(HMAC_StartSync,
    470       TPM_RC(const TPMI_DH_OBJECT& handle,
    471              const std::string& handle_name,
    472              const TPM2B_AUTH& auth,
    473              const TPMI_ALG_HASH& hash_alg,
    474              TPMI_DH_OBJECT* sequence_handle,
    475              AuthorizationDelegate* authorization_delegate));
    476   MOCK_METHOD4(HashSequenceStart,
    477       void(const TPM2B_AUTH& auth,
    478            const TPMI_ALG_HASH& hash_alg,
    479            AuthorizationDelegate* authorization_delegate,
    480            const HashSequenceStartResponse& callback));
    481   MOCK_METHOD4(HashSequenceStartSync,
    482       TPM_RC(const TPM2B_AUTH& auth,
    483              const TPMI_ALG_HASH& hash_alg,
    484              TPMI_DH_OBJECT* sequence_handle,
    485              AuthorizationDelegate* authorization_delegate));
    486   MOCK_METHOD5(SequenceUpdate,
    487       void(const TPMI_DH_OBJECT& sequence_handle,
    488            const std::string& sequence_handle_name,
    489            const TPM2B_MAX_BUFFER& buffer,
    490            AuthorizationDelegate* authorization_delegate,
    491            const SequenceUpdateResponse& callback));
    492   MOCK_METHOD4(SequenceUpdateSync,
    493       TPM_RC(const TPMI_DH_OBJECT& sequence_handle,
    494              const std::string& sequence_handle_name,
    495              const TPM2B_MAX_BUFFER& buffer,
    496              AuthorizationDelegate* authorization_delegate));
    497   MOCK_METHOD6(SequenceComplete,
    498       void(const TPMI_DH_OBJECT& sequence_handle,
    499            const std::string& sequence_handle_name,
    500            const TPM2B_MAX_BUFFER& buffer,
    501            const TPMI_RH_HIERARCHY& hierarchy,
    502            AuthorizationDelegate* authorization_delegate,
    503            const SequenceCompleteResponse& callback));
    504   MOCK_METHOD7(SequenceCompleteSync,
    505       TPM_RC(const TPMI_DH_OBJECT& sequence_handle,
    506              const std::string& sequence_handle_name,
    507              const TPM2B_MAX_BUFFER& buffer,
    508              const TPMI_RH_HIERARCHY& hierarchy,
    509              TPM2B_DIGEST* result,
    510              TPMT_TK_HASHCHECK* validation,
    511              AuthorizationDelegate* authorization_delegate));
    512   MOCK_METHOD7(EventSequenceComplete,
    513       void(const TPMI_DH_PCR& pcr_handle,
    514            const std::string& pcr_handle_name,
    515            const TPMI_DH_OBJECT& sequence_handle,
    516            const std::string& sequence_handle_name,
    517            const TPM2B_MAX_BUFFER& buffer,
    518            AuthorizationDelegate* authorization_delegate,
    519            const EventSequenceCompleteResponse& callback));
    520   MOCK_METHOD7(EventSequenceCompleteSync,
    521       TPM_RC(const TPMI_DH_PCR& pcr_handle,
    522              const std::string& pcr_handle_name,
    523              const TPMI_DH_OBJECT& sequence_handle,
    524              const std::string& sequence_handle_name,
    525              const TPM2B_MAX_BUFFER& buffer,
    526              TPML_DIGEST_VALUES* results,
    527              AuthorizationDelegate* authorization_delegate));
    528   MOCK_METHOD8(Certify,
    529       void(const TPMI_DH_OBJECT& object_handle,
    530            const std::string& object_handle_name,
    531            const TPMI_DH_OBJECT& sign_handle,
    532            const std::string& sign_handle_name,
    533            const TPM2B_DATA& qualifying_data,
    534            const TPMT_SIG_SCHEME& in_scheme,
    535            AuthorizationDelegate* authorization_delegate,
    536            const CertifyResponse& callback));
    537   MOCK_METHOD9(CertifySync,
    538       TPM_RC(const TPMI_DH_OBJECT& object_handle,
    539              const std::string& object_handle_name,
    540              const TPMI_DH_OBJECT& sign_handle,
    541              const std::string& sign_handle_name,
    542              const TPM2B_DATA& qualifying_data,
    543              const TPMT_SIG_SCHEME& in_scheme,
    544              TPM2B_ATTEST* certify_info,
    545              TPMT_SIGNATURE* signature,
    546              AuthorizationDelegate* authorization_delegate));
    547   MOCK_METHOD10(CertifyCreation,
    548       void(const TPMI_DH_OBJECT& sign_handle,
    549            const std::string& sign_handle_name,
    550            const TPMI_DH_OBJECT& object_handle,
    551            const std::string& object_handle_name,
    552            const TPM2B_DATA& qualifying_data,
    553            const TPM2B_DIGEST& creation_hash,
    554            const TPMT_SIG_SCHEME& in_scheme,
    555            const TPMT_TK_CREATION& creation_ticket,
    556            AuthorizationDelegate* authorization_delegate,
    557            const CertifyCreationResponse& callback));
    558   // Too many args to mock, forward to *Short version.
    559   TPM_RC CertifyCreationSync(
    560       const TPMI_DH_OBJECT& sign_handle,
    561       const std::string& sign_handle_name,
    562       const TPMI_DH_OBJECT& object_handle,
    563       const std::string& object_handle_name,
    564       const TPM2B_DATA& qualifying_data,
    565       const TPM2B_DIGEST& creation_hash,
    566       const TPMT_SIG_SCHEME& in_scheme,
    567       const TPMT_TK_CREATION& creation_ticket,
    568       TPM2B_ATTEST* certify_info,
    569       TPMT_SIGNATURE* signature,
    570       AuthorizationDelegate* authorization_delegate) override;
    571   MOCK_METHOD9(CertifyCreationSyncShort,
    572       TPM_RC(const TPMI_DH_OBJECT& sign_handle,
    573              const TPMI_DH_OBJECT& object_handle,
    574              const TPM2B_DATA& qualifying_data,
    575              const TPM2B_DIGEST& creation_hash,
    576              const TPMT_SIG_SCHEME& in_scheme,
    577              const TPMT_TK_CREATION& creation_ticket,
    578              TPM2B_ATTEST* certify_info,
    579              TPMT_SIGNATURE* signature,
    580              AuthorizationDelegate* authorization_delegate));
    581   MOCK_METHOD7(Quote,
    582       void(const TPMI_DH_OBJECT& sign_handle,
    583            const std::string& sign_handle_name,
    584            const TPM2B_DATA& qualifying_data,
    585            const TPMT_SIG_SCHEME& in_scheme,
    586            const TPML_PCR_SELECTION& pcrselect,
    587            AuthorizationDelegate* authorization_delegate,
    588            const QuoteResponse& callback));
    589   MOCK_METHOD8(QuoteSync,
    590       TPM_RC(const TPMI_DH_OBJECT& sign_handle,
    591              const std::string& sign_handle_name,
    592              const TPM2B_DATA& qualifying_data,
    593              const TPMT_SIG_SCHEME& in_scheme,
    594              const TPML_PCR_SELECTION& pcrselect,
    595              TPM2B_ATTEST* quoted,
    596              TPMT_SIGNATURE* signature,
    597              AuthorizationDelegate* authorization_delegate));
    598   MOCK_METHOD10(GetSessionAuditDigest,
    599       void(const TPMI_RH_ENDORSEMENT& privacy_admin_handle,
    600            const std::string& privacy_admin_handle_name,
    601            const TPMI_DH_OBJECT& sign_handle,
    602            const std::string& sign_handle_name,
    603            const TPMI_SH_HMAC& session_handle,
    604            const std::string& session_handle_name,
    605            const TPM2B_DATA& qualifying_data,
    606            const TPMT_SIG_SCHEME& in_scheme,
    607            AuthorizationDelegate* authorization_delegate,
    608            const GetSessionAuditDigestResponse& callback));
    609   // Too many args to mock, forward to *Short version.
    610   TPM_RC GetSessionAuditDigestSync(
    611       const TPMI_RH_ENDORSEMENT& privacy_admin_handle,
    612       const std::string& privacy_admin_handle_name,
    613       const TPMI_DH_OBJECT& sign_handle,
    614       const std::string& sign_handle_name,
    615       const TPMI_SH_HMAC& session_handle,
    616       const std::string& session_handle_name,
    617       const TPM2B_DATA& qualifying_data,
    618       const TPMT_SIG_SCHEME& in_scheme,
    619       TPM2B_ATTEST* audit_info,
    620       TPMT_SIGNATURE* signature,
    621       AuthorizationDelegate* authorization_delegate) override;
    622   MOCK_METHOD8(GetSessionAuditDigestSyncShort,
    623       TPM_RC(const TPMI_RH_ENDORSEMENT& privacy_admin_handle,
    624              const TPMI_DH_OBJECT& sign_handle,
    625              const TPMI_SH_HMAC& session_handle,
    626              const TPM2B_DATA& qualifying_data,
    627              const TPMT_SIG_SCHEME& in_scheme,
    628              TPM2B_ATTEST* audit_info,
    629              TPMT_SIGNATURE* signature,
    630              AuthorizationDelegate* authorization_delegate));
    631   MOCK_METHOD8(GetCommandAuditDigest,
    632       void(const TPMI_RH_ENDORSEMENT& privacy_handle,
    633            const std::string& privacy_handle_name,
    634            const TPMI_DH_OBJECT& sign_handle,
    635            const std::string& sign_handle_name,
    636            const TPM2B_DATA& qualifying_data,
    637            const TPMT_SIG_SCHEME& in_scheme,
    638            AuthorizationDelegate* authorization_delegate,
    639            const GetCommandAuditDigestResponse& callback));
    640   MOCK_METHOD9(GetCommandAuditDigestSync,
    641       TPM_RC(const TPMI_RH_ENDORSEMENT& privacy_handle,
    642              const std::string& privacy_handle_name,
    643              const TPMI_DH_OBJECT& sign_handle,
    644              const std::string& sign_handle_name,
    645              const TPM2B_DATA& qualifying_data,
    646              const TPMT_SIG_SCHEME& in_scheme,
    647              TPM2B_ATTEST* audit_info,
    648              TPMT_SIGNATURE* signature,
    649              AuthorizationDelegate* authorization_delegate));
    650   MOCK_METHOD8(GetTime,
    651       void(const TPMI_RH_ENDORSEMENT& privacy_admin_handle,
    652            const std::string& privacy_admin_handle_name,
    653            const TPMI_DH_OBJECT& sign_handle,
    654            const std::string& sign_handle_name,
    655            const TPM2B_DATA& qualifying_data,
    656            const TPMT_SIG_SCHEME& in_scheme,
    657            AuthorizationDelegate* authorization_delegate,
    658            const GetTimeResponse& callback));
    659   MOCK_METHOD9(GetTimeSync,
    660       TPM_RC(const TPMI_RH_ENDORSEMENT& privacy_admin_handle,
    661              const std::string& privacy_admin_handle_name,
    662              const TPMI_DH_OBJECT& sign_handle,
    663              const std::string& sign_handle_name,
    664              const TPM2B_DATA& qualifying_data,
    665              const TPMT_SIG_SCHEME& in_scheme,
    666              TPM2B_ATTEST* time_info,
    667              TPMT_SIGNATURE* signature,
    668              AuthorizationDelegate* authorization_delegate));
    669   MOCK_METHOD8(Commit,
    670       void(const TPMI_DH_OBJECT& sign_handle,
    671            const std::string& sign_handle_name,
    672            const UINT32& param_size,
    673            const TPM2B_ECC_POINT& p1,
    674            const TPM2B_SENSITIVE_DATA& s2,
    675            const TPM2B_ECC_PARAMETER& y2,
    676            AuthorizationDelegate* authorization_delegate,
    677            const CommitResponse& callback));
    678   // Too many args to mock, forward to *Short version.
    679   TPM_RC CommitSync(const TPMI_DH_OBJECT& sign_handle,
    680                     const std::string& sign_handle_name,
    681                     const UINT32& param_size,
    682                     const TPM2B_ECC_POINT& p1,
    683                     const TPM2B_SENSITIVE_DATA& s2,
    684                     const TPM2B_ECC_PARAMETER& y2,
    685                     UINT32* param_size_out,
    686                     TPM2B_ECC_POINT* k,
    687                     TPM2B_ECC_POINT* l,
    688                     TPM2B_ECC_POINT* e,
    689                     UINT16* counter,
    690                     AuthorizationDelegate* authorization_delegate) override;
    691   MOCK_METHOD10(CommitSyncShort,
    692       TPM_RC(const TPMI_DH_OBJECT& sign_handle,
    693              const UINT32& param_size,
    694              const TPM2B_ECC_POINT& p1,
    695              const TPM2B_ECC_PARAMETER& y2,
    696              UINT32* param_size_out,
    697              TPM2B_ECC_POINT* k,
    698              TPM2B_ECC_POINT* l,
    699              TPM2B_ECC_POINT* e,
    700              UINT16* counter,
    701              AuthorizationDelegate* authorization_delegate));
    702   MOCK_METHOD4(EC_Ephemeral,
    703       void(const UINT32& param_size,
    704            const TPMI_ECC_CURVE& curve_id,
    705            AuthorizationDelegate* authorization_delegate,
    706            const EC_EphemeralResponse& callback));
    707   MOCK_METHOD6(EC_EphemeralSync,
    708       TPM_RC(const UINT32& param_size,
    709              const TPMI_ECC_CURVE& curve_id,
    710              UINT32* param_size_out,
    711              TPM2B_ECC_POINT* q,
    712              UINT16* counter,
    713              AuthorizationDelegate* authorization_delegate));
    714   MOCK_METHOD6(VerifySignature,
    715       void(const TPMI_DH_OBJECT& key_handle,
    716            const std::string& key_handle_name,
    717            const TPM2B_DIGEST& digest,
    718            const TPMT_SIGNATURE& signature,
    719            AuthorizationDelegate* authorization_delegate,
    720            const VerifySignatureResponse& callback));
    721   MOCK_METHOD6(VerifySignatureSync,
    722       TPM_RC(const TPMI_DH_OBJECT& key_handle,
    723              const std::string& key_handle_name,
    724              const TPM2B_DIGEST& digest,
    725              const TPMT_SIGNATURE& signature,
    726              TPMT_TK_VERIFIED* validation,
    727              AuthorizationDelegate* authorization_delegate));
    728   MOCK_METHOD7(Sign,
    729       void(const TPMI_DH_OBJECT& key_handle,
    730            const std::string& key_handle_name,
    731            const TPM2B_DIGEST& digest,
    732            const TPMT_SIG_SCHEME& in_scheme,
    733            const TPMT_TK_HASHCHECK& validation,
    734            AuthorizationDelegate* authorization_delegate,
    735            const SignResponse& callback));
    736   MOCK_METHOD7(SignSync,
    737       TPM_RC(const TPMI_DH_OBJECT& key_handle,
    738              const std::string& key_handle_name,
    739              const TPM2B_DIGEST& digest,
    740              const TPMT_SIG_SCHEME& in_scheme,
    741              const TPMT_TK_HASHCHECK& validation,
    742              TPMT_SIGNATURE* signature,
    743              AuthorizationDelegate* authorization_delegate));
    744   MOCK_METHOD7(SetCommandCodeAuditStatus,
    745       void(const TPMI_RH_PROVISION& auth,
    746            const std::string& auth_name,
    747            const TPMI_ALG_HASH& audit_alg,
    748            const TPML_CC& set_list,
    749            const TPML_CC& clear_list,
    750            AuthorizationDelegate* authorization_delegate,
    751            const SetCommandCodeAuditStatusResponse& callback));
    752   MOCK_METHOD6(SetCommandCodeAuditStatusSync,
    753       TPM_RC(const TPMI_RH_PROVISION& auth,
    754              const std::string& auth_name,
    755              const TPMI_ALG_HASH& audit_alg,
    756              const TPML_CC& set_list,
    757              const TPML_CC& clear_list,
    758              AuthorizationDelegate* authorization_delegate));
    759   MOCK_METHOD5(PCR_Extend,
    760       void(const TPMI_DH_PCR& pcr_handle,
    761            const std::string& pcr_handle_name,
    762            const TPML_DIGEST_VALUES& digests,
    763            AuthorizationDelegate* authorization_delegate,
    764            const PCR_ExtendResponse& callback));
    765   MOCK_METHOD4(PCR_ExtendSync,
    766       TPM_RC(const TPMI_DH_PCR& pcr_handle,
    767              const std::string& pcr_handle_name,
    768              const TPML_DIGEST_VALUES& digests,
    769              AuthorizationDelegate* authorization_delegate));
    770   MOCK_METHOD5(PCR_Event,
    771       void(const TPMI_DH_PCR& pcr_handle,
    772            const std::string& pcr_handle_name,
    773            const TPM2B_EVENT& event_data,
    774            AuthorizationDelegate* authorization_delegate,
    775            const PCR_EventResponse& callback));
    776   MOCK_METHOD5(PCR_EventSync,
    777       TPM_RC(const TPMI_DH_PCR& pcr_handle,
    778              const std::string& pcr_handle_name,
    779              const TPM2B_EVENT& event_data,
    780              TPML_DIGEST_VALUES* digests,
    781              AuthorizationDelegate* authorization_delegate));
    782   MOCK_METHOD3(PCR_Read,
    783       void(const TPML_PCR_SELECTION& pcr_selection_in,
    784            AuthorizationDelegate* authorization_delegate,
    785            const PCR_ReadResponse& callback));
    786   MOCK_METHOD5(PCR_ReadSync,
    787       TPM_RC(const TPML_PCR_SELECTION& pcr_selection_in,
    788              UINT32* pcr_update_counter,
    789              TPML_PCR_SELECTION* pcr_selection_out,
    790              TPML_DIGEST* pcr_values,
    791              AuthorizationDelegate* authorization_delegate));
    792   MOCK_METHOD5(PCR_Allocate,
    793       void(const TPMI_RH_PLATFORM& auth_handle,
    794            const std::string& auth_handle_name,
    795            const TPML_PCR_SELECTION& pcr_allocation,
    796            AuthorizationDelegate* authorization_delegate,
    797            const PCR_AllocateResponse& callback));
    798   MOCK_METHOD8(PCR_AllocateSync,
    799       TPM_RC(const TPMI_RH_PLATFORM& auth_handle,
    800              const std::string& auth_handle_name,
    801              const TPML_PCR_SELECTION& pcr_allocation,
    802              TPMI_YES_NO* allocation_success,
    803              UINT32* max_pcr,
    804              UINT32* size_needed,
    805              UINT32* size_available,
    806              AuthorizationDelegate* authorization_delegate));
    807   MOCK_METHOD8(PCR_SetAuthPolicy,
    808       void(const TPMI_RH_PLATFORM& auth_handle,
    809            const std::string& auth_handle_name,
    810            const TPMI_DH_PCR& pcr_num,
    811            const std::string& pcr_num_name,
    812            const TPM2B_DIGEST& auth_policy,
    813            const TPMI_ALG_HASH& policy_digest,
    814            AuthorizationDelegate* authorization_delegate,
    815            const PCR_SetAuthPolicyResponse& callback));
    816   MOCK_METHOD7(PCR_SetAuthPolicySync,
    817       TPM_RC(const TPMI_RH_PLATFORM& auth_handle,
    818              const std::string& auth_handle_name,
    819              const TPMI_DH_PCR& pcr_num,
    820              const std::string& pcr_num_name,
    821              const TPM2B_DIGEST& auth_policy,
    822              const TPMI_ALG_HASH& policy_digest,
    823              AuthorizationDelegate* authorization_delegate));
    824   MOCK_METHOD5(PCR_SetAuthValue,
    825       void(const TPMI_DH_PCR& pcr_handle,
    826            const std::string& pcr_handle_name,
    827            const TPM2B_DIGEST& auth,
    828            AuthorizationDelegate* authorization_delegate,
    829            const PCR_SetAuthValueResponse& callback));
    830   MOCK_METHOD4(PCR_SetAuthValueSync,
    831       TPM_RC(const TPMI_DH_PCR& pcr_handle,
    832              const std::string& pcr_handle_name,
    833              const TPM2B_DIGEST& auth,
    834              AuthorizationDelegate* authorization_delegate));
    835   MOCK_METHOD4(PCR_Reset,
    836       void(const TPMI_DH_PCR& pcr_handle,
    837            const std::string& pcr_handle_name,
    838            AuthorizationDelegate* authorization_delegate,
    839            const PCR_ResetResponse& callback));
    840   MOCK_METHOD3(PCR_ResetSync,
    841       TPM_RC(const TPMI_DH_PCR& pcr_handle,
    842              const std::string& pcr_handle_name,
    843              AuthorizationDelegate* authorization_delegate));
    844   // Too many args to mock, forward to *Short version.
    845   void PolicySigned(
    846       const TPMI_DH_OBJECT& auth_object,
    847       const std::string& auth_object_name,
    848       const TPMI_SH_POLICY& policy_session,
    849       const std::string& policy_session_name,
    850       const TPM2B_NONCE& nonce_tpm,
    851       const TPM2B_DIGEST& cp_hash_a,
    852       const TPM2B_NONCE& policy_ref,
    853       const INT32& expiration,
    854       const TPMT_SIGNATURE& auth,
    855       AuthorizationDelegate* authorization_delegate,
    856       const PolicySignedResponse& callback) override;
    857   MOCK_METHOD9(PolicySignedShort,
    858       void(const TPMI_DH_OBJECT& auth_object,
    859            const TPMI_SH_POLICY& policy_session,
    860            const TPM2B_NONCE& nonce_tpm,
    861            const TPM2B_DIGEST& cp_hash_a,
    862            const TPM2B_NONCE& policy_ref,
    863            const INT32& expiration,
    864            const TPMT_SIGNATURE& auth,
    865            AuthorizationDelegate* authorization_delegate,
    866            const PolicySignedResponse& callback));
    867   // Too many args to mock, forward to *Short version.
    868   TPM_RC PolicySignedSync(
    869       const TPMI_DH_OBJECT& auth_object,
    870       const std::string& auth_object_name,
    871       const TPMI_SH_POLICY& policy_session,
    872       const std::string& policy_session_name,
    873       const TPM2B_NONCE& nonce_tpm,
    874       const TPM2B_DIGEST& cp_hash_a,
    875       const TPM2B_NONCE& policy_ref,
    876       const INT32& expiration,
    877       const TPMT_SIGNATURE& auth,
    878       TPM2B_TIMEOUT* timeout,
    879       TPMT_TK_AUTH* policy_ticket,
    880       AuthorizationDelegate* authorization_delegate) override;
    881   MOCK_METHOD10(PolicySignedSyncShort,
    882       TPM_RC(const TPMI_DH_OBJECT& auth_object,
    883              const TPMI_SH_POLICY& policy_session,
    884              const TPM2B_NONCE& nonce_tpm,
    885              const TPM2B_DIGEST& cp_hash_a,
    886              const TPM2B_NONCE& policy_ref,
    887              const INT32& expiration,
    888              const TPMT_SIGNATURE& auth,
    889              TPM2B_TIMEOUT* timeout,
    890              TPMT_TK_AUTH* policy_ticket,
    891              AuthorizationDelegate* authorization_delegate));
    892   MOCK_METHOD10(PolicySecret,
    893       void(const TPMI_DH_ENTITY& auth_handle,
    894            const std::string& auth_handle_name,
    895            const TPMI_SH_POLICY& policy_session,
    896            const std::string& policy_session_name,
    897            const TPM2B_NONCE& nonce_tpm,
    898            const TPM2B_DIGEST& cp_hash_a,
    899            const TPM2B_NONCE& policy_ref,
    900            const INT32& expiration,
    901            AuthorizationDelegate* authorization_delegate,
    902            const PolicySecretResponse& callback));
    903   // Too many args to mock, forward to *Short version.
    904   TPM_RC PolicySecretSync(
    905       const TPMI_DH_ENTITY& auth_handle,
    906       const std::string& auth_handle_name,
    907       const TPMI_SH_POLICY& policy_session,
    908       const std::string& policy_session_name,
    909       const TPM2B_NONCE& nonce_tpm,
    910       const TPM2B_DIGEST& cp_hash_a,
    911       const TPM2B_NONCE& policy_ref,
    912       const INT32& expiration,
    913       TPM2B_TIMEOUT* timeout,
    914       TPMT_TK_AUTH* policy_ticket,
    915       AuthorizationDelegate* authorization_delegate) override;
    916   MOCK_METHOD9(PolicySecretSyncShort,
    917       TPM_RC(const TPMI_DH_ENTITY& auth_handle,
    918              const TPMI_SH_POLICY& policy_session,
    919              const TPM2B_NONCE& nonce_tpm,
    920              const TPM2B_DIGEST& cp_hash_a,
    921              const TPM2B_NONCE& policy_ref,
    922              const INT32& expiration,
    923              TPM2B_TIMEOUT* timeout,
    924              TPMT_TK_AUTH* policy_ticket,
    925              AuthorizationDelegate* authorization_delegate));
    926   MOCK_METHOD9(PolicyTicket,
    927       void(const TPMI_SH_POLICY& policy_session,
    928            const std::string& policy_session_name,
    929            const TPM2B_TIMEOUT& timeout,
    930            const TPM2B_DIGEST& cp_hash_a,
    931            const TPM2B_NONCE& policy_ref,
    932            const TPM2B_NAME& auth_name,
    933            const TPMT_TK_AUTH& ticket,
    934            AuthorizationDelegate* authorization_delegate,
    935            const PolicyTicketResponse& callback));
    936   MOCK_METHOD8(PolicyTicketSync,
    937       TPM_RC(const TPMI_SH_POLICY& policy_session,
    938              const std::string& policy_session_name,
    939              const TPM2B_TIMEOUT& timeout,
    940              const TPM2B_DIGEST& cp_hash_a,
    941              const TPM2B_NONCE& policy_ref,
    942              const TPM2B_NAME& auth_name,
    943              const TPMT_TK_AUTH& ticket,
    944              AuthorizationDelegate* authorization_delegate));
    945   MOCK_METHOD5(PolicyOR,
    946       void(const TPMI_SH_POLICY& policy_session,
    947            const std::string& policy_session_name,
    948            const TPML_DIGEST& p_hash_list,
    949            AuthorizationDelegate* authorization_delegate,
    950            const PolicyORResponse& callback));
    951   MOCK_METHOD4(PolicyORSync,
    952       TPM_RC(const TPMI_SH_POLICY& policy_session,
    953              const std::string& policy_session_name,
    954              const TPML_DIGEST& p_hash_list,
    955              AuthorizationDelegate* authorization_delegate));
    956   MOCK_METHOD6(PolicyPCR,
    957       void(const TPMI_SH_POLICY& policy_session,
    958            const std::string& policy_session_name,
    959            const TPM2B_DIGEST& pcr_digest,
    960            const TPML_PCR_SELECTION& pcrs,
    961            AuthorizationDelegate* authorization_delegate,
    962            const PolicyPCRResponse& callback));
    963   MOCK_METHOD5(PolicyPCRSync,
    964       TPM_RC(const TPMI_SH_POLICY& policy_session,
    965              const std::string& policy_session_name,
    966              const TPM2B_DIGEST& pcr_digest,
    967              const TPML_PCR_SELECTION& pcrs,
    968              AuthorizationDelegate* authorization_delegate));
    969   MOCK_METHOD5(PolicyLocality,
    970       void(const TPMI_SH_POLICY& policy_session,
    971            const std::string& policy_session_name,
    972            const TPMA_LOCALITY& locality,
    973            AuthorizationDelegate* authorization_delegate,
    974            const PolicyLocalityResponse& callback));
    975   MOCK_METHOD4(PolicyLocalitySync,
    976       TPM_RC(const TPMI_SH_POLICY& policy_session,
    977              const std::string& policy_session_name,
    978              const TPMA_LOCALITY& locality,
    979              AuthorizationDelegate* authorization_delegate));
    980   // Too many args to mock, forward to *Short version.
    981   void PolicyNV(const TPMI_RH_NV_AUTH& auth_handle,
    982                 const std::string& auth_handle_name,
    983                 const TPMI_RH_NV_INDEX& nv_index,
    984                 const std::string& nv_index_name,
    985                 const TPMI_SH_POLICY& policy_session,
    986                 const std::string& policy_session_name,
    987                 const TPM2B_OPERAND& operand_b,
    988                 const UINT16& offset,
    989                 const TPM_EO& operation,
    990                 AuthorizationDelegate* authorization_delegate,
    991                 const PolicyNVResponse& callback) override;
    992   MOCK_METHOD8(PolicyNVShort,
    993       void(const TPMI_RH_NV_AUTH& auth_handle,
    994            const TPMI_RH_NV_INDEX& nv_index,
    995            const TPMI_SH_POLICY& policy_session,
    996            const TPM2B_OPERAND& operand_b,
    997            const UINT16& offset,
    998            const TPM_EO& operation,
    999            AuthorizationDelegate* authorization_delegate,
   1000            const PolicyNVResponse& callback));
   1001   MOCK_METHOD10(PolicyNVSync,
   1002       TPM_RC(const TPMI_RH_NV_AUTH& auth_handle,
   1003              const std::string& auth_handle_name,
   1004              const TPMI_RH_NV_INDEX& nv_index,
   1005              const std::string& nv_index_name,
   1006              const TPMI_SH_POLICY& policy_session,
   1007              const std::string& policy_session_name,
   1008              const TPM2B_OPERAND& operand_b,
   1009              const UINT16& offset,
   1010              const TPM_EO& operation,
   1011              AuthorizationDelegate* authorization_delegate));
   1012   MOCK_METHOD7(PolicyCounterTimer,
   1013       void(const TPMI_SH_POLICY& policy_session,
   1014            const std::string& policy_session_name,
   1015            const TPM2B_OPERAND& operand_b,
   1016            const UINT16& offset,
   1017            const TPM_EO& operation,
   1018            AuthorizationDelegate* authorization_delegate,
   1019            const PolicyCounterTimerResponse& callback));
   1020   MOCK_METHOD6(PolicyCounterTimerSync,
   1021       TPM_RC(const TPMI_SH_POLICY& policy_session,
   1022              const std::string& policy_session_name,
   1023              const TPM2B_OPERAND& operand_b,
   1024              const UINT16& offset,
   1025              const TPM_EO& operation,
   1026              AuthorizationDelegate* authorization_delegate));
   1027   MOCK_METHOD5(PolicyCommandCode,
   1028       void(const TPMI_SH_POLICY& policy_session,
   1029            const std::string& policy_session_name,
   1030            const TPM_CC& code,
   1031            AuthorizationDelegate* authorization_delegate,
   1032            const PolicyCommandCodeResponse& callback));
   1033   MOCK_METHOD4(PolicyCommandCodeSync,
   1034       TPM_RC(const TPMI_SH_POLICY& policy_session,
   1035              const std::string& policy_session_name,
   1036              const TPM_CC& code,
   1037              AuthorizationDelegate* authorization_delegate));
   1038   MOCK_METHOD4(PolicyPhysicalPresence,
   1039       void(const TPMI_SH_POLICY& policy_session,
   1040            const std::string& policy_session_name,
   1041            AuthorizationDelegate* authorization_delegate,
   1042            const PolicyPhysicalPresenceResponse& callback));
   1043   MOCK_METHOD3(PolicyPhysicalPresenceSync,
   1044       TPM_RC(const TPMI_SH_POLICY& policy_session,
   1045              const std::string& policy_session_name,
   1046              AuthorizationDelegate* authorization_delegate));
   1047   MOCK_METHOD5(PolicyCpHash,
   1048       void(const TPMI_SH_POLICY& policy_session,
   1049            const std::string& policy_session_name,
   1050            const TPM2B_DIGEST& cp_hash_a,
   1051            AuthorizationDelegate* authorization_delegate,
   1052            const PolicyCpHashResponse& callback));
   1053   MOCK_METHOD4(PolicyCpHashSync,
   1054       TPM_RC(const TPMI_SH_POLICY& policy_session,
   1055              const std::string& policy_session_name,
   1056              const TPM2B_DIGEST& cp_hash_a,
   1057              AuthorizationDelegate* authorization_delegate));
   1058   MOCK_METHOD5(PolicyNameHash,
   1059       void(const TPMI_SH_POLICY& policy_session,
   1060            const std::string& policy_session_name,
   1061            const TPM2B_DIGEST& name_hash,
   1062            AuthorizationDelegate* authorization_delegate,
   1063            const PolicyNameHashResponse& callback));
   1064   MOCK_METHOD4(PolicyNameHashSync,
   1065       TPM_RC(const TPMI_SH_POLICY& policy_session,
   1066              const std::string& policy_session_name,
   1067              const TPM2B_DIGEST& name_hash,
   1068              AuthorizationDelegate* authorization_delegate));
   1069   MOCK_METHOD7(PolicyDuplicationSelect,
   1070       void(const TPMI_SH_POLICY& policy_session,
   1071            const std::string& policy_session_name,
   1072            const TPM2B_NAME& object_name,
   1073            const TPM2B_NAME& new_parent_name,
   1074            const TPMI_YES_NO& include_object,
   1075            AuthorizationDelegate* authorization_delegate,
   1076            const PolicyDuplicationSelectResponse& callback));
   1077   MOCK_METHOD6(PolicyDuplicationSelectSync,
   1078       TPM_RC(const TPMI_SH_POLICY& policy_session,
   1079              const std::string& policy_session_name,
   1080              const TPM2B_NAME& object_name,
   1081              const TPM2B_NAME& new_parent_name,
   1082              const TPMI_YES_NO& include_object,
   1083              AuthorizationDelegate* authorization_delegate));
   1084   MOCK_METHOD8(PolicyAuthorize,
   1085       void(const TPMI_SH_POLICY& policy_session,
   1086            const std::string& policy_session_name,
   1087            const TPM2B_DIGEST& approved_policy,
   1088            const TPM2B_NONCE& policy_ref,
   1089            const TPM2B_NAME& key_sign,
   1090            const TPMT_TK_VERIFIED& check_ticket,
   1091            AuthorizationDelegate* authorization_delegate,
   1092            const PolicyAuthorizeResponse& callback));
   1093   MOCK_METHOD7(PolicyAuthorizeSync,
   1094       TPM_RC(const TPMI_SH_POLICY& policy_session,
   1095              const std::string& policy_session_name,
   1096              const TPM2B_DIGEST& approved_policy,
   1097              const TPM2B_NONCE& policy_ref,
   1098              const TPM2B_NAME& key_sign,
   1099              const TPMT_TK_VERIFIED& check_ticket,
   1100              AuthorizationDelegate* authorization_delegate));
   1101   MOCK_METHOD4(PolicyAuthValue,
   1102       void(const TPMI_SH_POLICY& policy_session,
   1103            const std::string& policy_session_name,
   1104            AuthorizationDelegate* authorization_delegate,
   1105            const PolicyAuthValueResponse& callback));
   1106   MOCK_METHOD3(PolicyAuthValueSync,
   1107       TPM_RC(const TPMI_SH_POLICY& policy_session,
   1108              const std::string& policy_session_name,
   1109              AuthorizationDelegate* authorization_delegate));
   1110   MOCK_METHOD4(PolicyPassword,
   1111       void(const TPMI_SH_POLICY& policy_session,
   1112            const std::string& policy_session_name,
   1113            AuthorizationDelegate* authorization_delegate,
   1114            const PolicyPasswordResponse& callback));
   1115   MOCK_METHOD3(PolicyPasswordSync,
   1116       TPM_RC(const TPMI_SH_POLICY& policy_session,
   1117              const std::string& policy_session_name,
   1118              AuthorizationDelegate* authorization_delegate));
   1119   MOCK_METHOD4(PolicyGetDigest,
   1120       void(const TPMI_SH_POLICY& policy_session,
   1121            const std::string& policy_session_name,
   1122            AuthorizationDelegate* authorization_delegate,
   1123            const PolicyGetDigestResponse& callback));
   1124   MOCK_METHOD4(PolicyGetDigestSync,
   1125       TPM_RC(const TPMI_SH_POLICY& policy_session,
   1126              const std::string& policy_session_name,
   1127              TPM2B_DIGEST* policy_digest,
   1128              AuthorizationDelegate* authorization_delegate));
   1129   MOCK_METHOD5(PolicyNvWritten,
   1130       void(const TPMI_SH_POLICY& policy_session,
   1131            const std::string& policy_session_name,
   1132            const TPMI_YES_NO& written_set,
   1133            AuthorizationDelegate* authorization_delegate,
   1134            const PolicyNvWrittenResponse& callback));
   1135   MOCK_METHOD4(PolicyNvWrittenSync,
   1136       TPM_RC(const TPMI_SH_POLICY& policy_session,
   1137              const std::string& policy_session_name,
   1138              const TPMI_YES_NO& written_set,
   1139              AuthorizationDelegate* authorization_delegate));
   1140   MOCK_METHOD8(CreatePrimary,
   1141       void(const TPMI_RH_HIERARCHY& primary_handle,
   1142            const std::string& primary_handle_name,
   1143            const TPM2B_SENSITIVE_CREATE& in_sensitive,
   1144            const TPM2B_PUBLIC& in_public,
   1145            const TPM2B_DATA& outside_info,
   1146            const TPML_PCR_SELECTION& creation_pcr,
   1147            AuthorizationDelegate* authorization_delegate,
   1148            const CreatePrimaryResponse& callback));
   1149   // Too many args to mock, forward to *Short version.
   1150   TPM_RC CreatePrimarySync(
   1151       const TPMI_RH_HIERARCHY& primary_handle,
   1152       const std::string& primary_handle_name,
   1153       const TPM2B_SENSITIVE_CREATE& in_sensitive,
   1154       const TPM2B_PUBLIC& in_public,
   1155       const TPM2B_DATA& outside_info,
   1156       const TPML_PCR_SELECTION& creation_pcr,
   1157       TPM_HANDLE* object_handle,
   1158       TPM2B_PUBLIC* out_public,
   1159       TPM2B_CREATION_DATA* creation_data,
   1160       TPM2B_DIGEST* creation_hash,
   1161       TPMT_TK_CREATION* creation_ticket,
   1162       TPM2B_NAME* name,
   1163       AuthorizationDelegate* authorization_delegate) override;
   1164   MOCK_METHOD10(CreatePrimarySyncShort,
   1165       TPM_RC(const TPMI_RH_HIERARCHY& primary_handle,
   1166              const TPM2B_PUBLIC& in_public,
   1167              const TPML_PCR_SELECTION& creation_pcr,
   1168              TPM_HANDLE* object_handle,
   1169              TPM2B_PUBLIC* out_public,
   1170              TPM2B_CREATION_DATA* creation_data,
   1171              TPM2B_DIGEST* creation_hash,
   1172              TPMT_TK_CREATION* creation_ticket,
   1173              TPM2B_NAME* name,
   1174              AuthorizationDelegate* authorization_delegate));
   1175   MOCK_METHOD6(HierarchyControl,
   1176       void(const TPMI_RH_HIERARCHY& auth_handle,
   1177            const std::string& auth_handle_name,
   1178            const TPMI_RH_ENABLES& enable,
   1179            const TPMI_YES_NO& state,
   1180            AuthorizationDelegate* authorization_delegate,
   1181            const HierarchyControlResponse& callback));
   1182   MOCK_METHOD5(HierarchyControlSync,
   1183       TPM_RC(const TPMI_RH_HIERARCHY& auth_handle,
   1184              const std::string& auth_handle_name,
   1185              const TPMI_RH_ENABLES& enable,
   1186              const TPMI_YES_NO& state,
   1187              AuthorizationDelegate* authorization_delegate));
   1188   MOCK_METHOD6(SetPrimaryPolicy,
   1189       void(const TPMI_RH_HIERARCHY& auth_handle,
   1190            const std::string& auth_handle_name,
   1191            const TPM2B_DIGEST& auth_policy,
   1192            const TPMI_ALG_HASH& hash_alg,
   1193            AuthorizationDelegate* authorization_delegate,
   1194            const SetPrimaryPolicyResponse& callback));
   1195   MOCK_METHOD5(SetPrimaryPolicySync,
   1196       TPM_RC(const TPMI_RH_HIERARCHY& auth_handle,
   1197              const std::string& auth_handle_name,
   1198              const TPM2B_DIGEST& auth_policy,
   1199              const TPMI_ALG_HASH& hash_alg,
   1200              AuthorizationDelegate* authorization_delegate));
   1201   MOCK_METHOD4(ChangePPS,
   1202       void(const TPMI_RH_PLATFORM& auth_handle,
   1203            const std::string& auth_handle_name,
   1204            AuthorizationDelegate* authorization_delegate,
   1205            const ChangePPSResponse& callback));
   1206   MOCK_METHOD3(ChangePPSSync,
   1207       TPM_RC(const TPMI_RH_PLATFORM& auth_handle,
   1208              const std::string& auth_handle_name,
   1209              AuthorizationDelegate* authorization_delegate));
   1210   MOCK_METHOD4(ChangeEPS,
   1211       void(const TPMI_RH_PLATFORM& auth_handle,
   1212            const std::string& auth_handle_name,
   1213            AuthorizationDelegate* authorization_delegate,
   1214            const ChangeEPSResponse& callback));
   1215   MOCK_METHOD3(ChangeEPSSync,
   1216       TPM_RC(const TPMI_RH_PLATFORM& auth_handle,
   1217              const std::string& auth_handle_name,
   1218              AuthorizationDelegate* authorization_delegate));
   1219   MOCK_METHOD4(Clear,
   1220       void(const TPMI_RH_CLEAR& auth_handle,
   1221            const std::string& auth_handle_name,
   1222            AuthorizationDelegate* authorization_delegate,
   1223            const ClearResponse& callback));
   1224   MOCK_METHOD3(ClearSync,
   1225       TPM_RC(const TPMI_RH_CLEAR& auth_handle,
   1226              const std::string& auth_handle_name,
   1227              AuthorizationDelegate* authorization_delegate));
   1228   MOCK_METHOD5(ClearControl,
   1229       void(const TPMI_RH_CLEAR& auth,
   1230            const std::string& auth_name,
   1231            const TPMI_YES_NO& disable,
   1232            AuthorizationDelegate* authorization_delegate,
   1233            const ClearControlResponse& callback));
   1234   MOCK_METHOD4(ClearControlSync,
   1235       TPM_RC(const TPMI_RH_CLEAR& auth,
   1236              const std::string& auth_name,
   1237              const TPMI_YES_NO& disable,
   1238              AuthorizationDelegate* authorization_delegate));
   1239   MOCK_METHOD5(HierarchyChangeAuth,
   1240       void(const TPMI_RH_HIERARCHY_AUTH& auth_handle,
   1241            const std::string& auth_handle_name,
   1242            const TPM2B_AUTH& new_auth,
   1243            AuthorizationDelegate* authorization_delegate,
   1244            const HierarchyChangeAuthResponse& callback));
   1245   MOCK_METHOD4(HierarchyChangeAuthSync,
   1246       TPM_RC(const TPMI_RH_HIERARCHY_AUTH& auth_handle,
   1247              const std::string& auth_handle_name,
   1248              const TPM2B_AUTH& new_auth,
   1249              AuthorizationDelegate* authorization_delegate));
   1250   MOCK_METHOD4(DictionaryAttackLockReset,
   1251       void(const TPMI_RH_LOCKOUT& lock_handle,
   1252            const std::string& lock_handle_name,
   1253            AuthorizationDelegate* authorization_delegate,
   1254            const DictionaryAttackLockResetResponse& callback));
   1255   MOCK_METHOD3(DictionaryAttackLockResetSync,
   1256       TPM_RC(const TPMI_RH_LOCKOUT& lock_handle,
   1257              const std::string& lock_handle_name,
   1258              AuthorizationDelegate* authorization_delegate));
   1259   MOCK_METHOD7(DictionaryAttackParameters,
   1260       void(const TPMI_RH_LOCKOUT& lock_handle,
   1261            const std::string& lock_handle_name,
   1262            const UINT32& new_max_tries,
   1263            const UINT32& new_recovery_time,
   1264            const UINT32& lockout_recovery,
   1265            AuthorizationDelegate* authorization_delegate,
   1266            const DictionaryAttackParametersResponse& callback));
   1267   MOCK_METHOD6(DictionaryAttackParametersSync,
   1268       TPM_RC(const TPMI_RH_LOCKOUT& lock_handle,
   1269              const std::string& lock_handle_name,
   1270              const UINT32& new_max_tries,
   1271              const UINT32& new_recovery_time,
   1272              const UINT32& lockout_recovery,
   1273              AuthorizationDelegate* authorization_delegate));
   1274   MOCK_METHOD6(PP_Commands,
   1275       void(const TPMI_RH_PLATFORM& auth,
   1276            const std::string& auth_name,
   1277            const TPML_CC& set_list,
   1278            const TPML_CC& clear_list,
   1279            AuthorizationDelegate* authorization_delegate,
   1280            const PP_CommandsResponse& callback));
   1281   MOCK_METHOD5(PP_CommandsSync,
   1282       TPM_RC(const TPMI_RH_PLATFORM& auth,
   1283              const std::string& auth_name,
   1284              const TPML_CC& set_list,
   1285              const TPML_CC& clear_list,
   1286              AuthorizationDelegate* authorization_delegate));
   1287   MOCK_METHOD5(SetAlgorithmSet,
   1288       void(const TPMI_RH_PLATFORM& auth_handle,
   1289            const std::string& auth_handle_name,
   1290            const UINT32& algorithm_set,
   1291            AuthorizationDelegate* authorization_delegate,
   1292            const SetAlgorithmSetResponse& callback));
   1293   MOCK_METHOD4(SetAlgorithmSetSync,
   1294       TPM_RC(const TPMI_RH_PLATFORM& auth_handle,
   1295              const std::string& auth_handle_name,
   1296              const UINT32& algorithm_set,
   1297              AuthorizationDelegate* authorization_delegate));
   1298   MOCK_METHOD8(FieldUpgradeStart,
   1299       void(const TPMI_RH_PLATFORM& authorization,
   1300            const std::string& authorization_name,
   1301            const TPMI_DH_OBJECT& key_handle,
   1302            const std::string& key_handle_name,
   1303            const TPM2B_DIGEST& fu_digest,
   1304            const TPMT_SIGNATURE& manifest_signature,
   1305            AuthorizationDelegate* authorization_delegate,
   1306            const FieldUpgradeStartResponse& callback));
   1307   MOCK_METHOD7(FieldUpgradeStartSync,
   1308       TPM_RC(const TPMI_RH_PLATFORM& authorization,
   1309              const std::string& authorization_name,
   1310              const TPMI_DH_OBJECT& key_handle,
   1311              const std::string& key_handle_name,
   1312              const TPM2B_DIGEST& fu_digest,
   1313              const TPMT_SIGNATURE& manifest_signature,
   1314              AuthorizationDelegate* authorization_delegate));
   1315   MOCK_METHOD3(FieldUpgradeData,
   1316       void(const TPM2B_MAX_BUFFER& fu_data,
   1317            AuthorizationDelegate* authorization_delegate,
   1318            const FieldUpgradeDataResponse& callback));
   1319   MOCK_METHOD4(FieldUpgradeDataSync,
   1320       TPM_RC(const TPM2B_MAX_BUFFER& fu_data,
   1321              TPMT_HA* next_digest,
   1322              TPMT_HA* first_digest,
   1323              AuthorizationDelegate* authorization_delegate));
   1324   MOCK_METHOD3(FirmwareRead,
   1325       void(const UINT32& sequence_number,
   1326            AuthorizationDelegate* authorization_delegate,
   1327            const FirmwareReadResponse& callback));
   1328   MOCK_METHOD3(FirmwareReadSync,
   1329       TPM_RC(const UINT32& sequence_number,
   1330              TPM2B_MAX_BUFFER* fu_data,
   1331              AuthorizationDelegate* authorization_delegate));
   1332   MOCK_METHOD4(ContextSave,
   1333       void(const TPMI_DH_CONTEXT& save_handle,
   1334            const std::string& save_handle_name,
   1335            AuthorizationDelegate* authorization_delegate,
   1336            const ContextSaveResponse& callback));
   1337   MOCK_METHOD4(ContextSaveSync,
   1338       TPM_RC(const TPMI_DH_CONTEXT& save_handle,
   1339              const std::string& save_handle_name,
   1340              TPMS_CONTEXT* context,
   1341              AuthorizationDelegate* authorization_delegate));
   1342   MOCK_METHOD3(ContextLoad,
   1343       void(const TPMS_CONTEXT& context,
   1344            AuthorizationDelegate* authorization_delegate,
   1345            const ContextLoadResponse& callback));
   1346   MOCK_METHOD3(ContextLoadSync,
   1347       TPM_RC(const TPMS_CONTEXT& context,
   1348              TPMI_DH_CONTEXT* loaded_handle,
   1349              AuthorizationDelegate* authorization_delegate));
   1350   MOCK_METHOD3(FlushContext,
   1351       void(const TPMI_DH_CONTEXT& flush_handle,
   1352            AuthorizationDelegate* authorization_delegate,
   1353            const FlushContextResponse& callback));
   1354   MOCK_METHOD2(FlushContextSync,
   1355       TPM_RC(const TPMI_DH_CONTEXT& flush_handle,
   1356              AuthorizationDelegate* authorization_delegate));
   1357   MOCK_METHOD7(EvictControl,
   1358       void(const TPMI_RH_PROVISION& auth,
   1359            const std::string& auth_name,
   1360            const TPMI_DH_OBJECT& object_handle,
   1361            const std::string& object_handle_name,
   1362            const TPMI_DH_PERSISTENT& persistent_handle,
   1363            AuthorizationDelegate* authorization_delegate,
   1364            const EvictControlResponse& callback));
   1365   MOCK_METHOD6(EvictControlSync,
   1366       TPM_RC(const TPMI_RH_PROVISION& auth,
   1367              const std::string& auth_name,
   1368              const TPMI_DH_OBJECT& object_handle,
   1369              const std::string& object_handle_name,
   1370              const TPMI_DH_PERSISTENT& persistent_handle,
   1371              AuthorizationDelegate* authorization_delegate));
   1372   MOCK_METHOD2(ReadClock,
   1373       void(AuthorizationDelegate* authorization_delegate,
   1374            const ReadClockResponse& callback));
   1375   MOCK_METHOD2(ReadClockSync,
   1376       TPM_RC(TPMS_TIME_INFO* current_time,
   1377              AuthorizationDelegate* authorization_delegate));
   1378   MOCK_METHOD5(ClockSet,
   1379       void(const TPMI_RH_PROVISION& auth,
   1380            const std::string& auth_name,
   1381            const UINT64& new_time,
   1382            AuthorizationDelegate* authorization_delegate,
   1383            const ClockSetResponse& callback));
   1384   MOCK_METHOD4(ClockSetSync,
   1385       TPM_RC(const TPMI_RH_PROVISION& auth,
   1386              const std::string& auth_name,
   1387              const UINT64& new_time,
   1388              AuthorizationDelegate* authorization_delegate));
   1389   MOCK_METHOD5(ClockRateAdjust,
   1390       void(const TPMI_RH_PROVISION& auth,
   1391            const std::string& auth_name,
   1392            const TPM_CLOCK_ADJUST& rate_adjust,
   1393            AuthorizationDelegate* authorization_delegate,
   1394            const ClockRateAdjustResponse& callback));
   1395   MOCK_METHOD4(ClockRateAdjustSync,
   1396       TPM_RC(const TPMI_RH_PROVISION& auth,
   1397              const std::string& auth_name,
   1398              const TPM_CLOCK_ADJUST& rate_adjust,
   1399              AuthorizationDelegate* authorization_delegate));
   1400   MOCK_METHOD5(GetCapability,
   1401       void(const TPM_CAP& capability,
   1402            const UINT32& property,
   1403            const UINT32& property_count,
   1404            AuthorizationDelegate* authorization_delegate,
   1405            const GetCapabilityResponse& callback));
   1406   MOCK_METHOD6(GetCapabilitySync,
   1407       TPM_RC(const TPM_CAP& capability,
   1408              const UINT32& property,
   1409              const UINT32& property_count,
   1410              TPMI_YES_NO* more_data,
   1411              TPMS_CAPABILITY_DATA* capability_data,
   1412              AuthorizationDelegate* authorization_delegate));
   1413   MOCK_METHOD3(TestParms,
   1414       void(const TPMT_PUBLIC_PARMS& parameters,
   1415            AuthorizationDelegate* authorization_delegate,
   1416            const TestParmsResponse& callback));
   1417   MOCK_METHOD2(TestParmsSync,
   1418       TPM_RC(const TPMT_PUBLIC_PARMS& parameters,
   1419              AuthorizationDelegate* authorization_delegate));
   1420   MOCK_METHOD6(NV_DefineSpace,
   1421       void(const TPMI_RH_PROVISION& auth_handle,
   1422            const std::string& auth_handle_name,
   1423            const TPM2B_AUTH& auth,
   1424            const TPM2B_NV_PUBLIC& public_info,
   1425            AuthorizationDelegate* authorization_delegate,
   1426            const NV_DefineSpaceResponse& callback));
   1427   MOCK_METHOD5(NV_DefineSpaceSync,
   1428       TPM_RC(const TPMI_RH_PROVISION& auth_handle,
   1429              const std::string& auth_handle_name,
   1430              const TPM2B_AUTH& auth,
   1431              const TPM2B_NV_PUBLIC& public_info,
   1432              AuthorizationDelegate* authorization_delegate));
   1433   MOCK_METHOD6(NV_UndefineSpace,
   1434       void(const TPMI_RH_PROVISION& auth_handle,
   1435            const std::string& auth_handle_name,
   1436            const TPMI_RH_NV_INDEX& nv_index,
   1437            const std::string& nv_index_name,
   1438            AuthorizationDelegate* authorization_delegate,
   1439            const NV_UndefineSpaceResponse& callback));
   1440   MOCK_METHOD5(NV_UndefineSpaceSync,
   1441       TPM_RC(const TPMI_RH_PROVISION& auth_handle,
   1442              const std::string& auth_handle_name,
   1443              const TPMI_RH_NV_INDEX& nv_index,
   1444              const std::string& nv_index_name,
   1445              AuthorizationDelegate* authorization_delegate));
   1446   MOCK_METHOD6(NV_UndefineSpaceSpecial,
   1447       void(const TPMI_RH_NV_INDEX& nv_index,
   1448            const std::string& nv_index_name,
   1449            const TPMI_RH_PLATFORM& platform,
   1450            const std::string& platform_name,
   1451            AuthorizationDelegate* authorization_delegate,
   1452            const NV_UndefineSpaceSpecialResponse& callback));
   1453   MOCK_METHOD5(NV_UndefineSpaceSpecialSync,
   1454       TPM_RC(const TPMI_RH_NV_INDEX& nv_index,
   1455              const std::string& nv_index_name,
   1456              const TPMI_RH_PLATFORM& platform,
   1457              const std::string& platform_name,
   1458              AuthorizationDelegate* authorization_delegate));
   1459   MOCK_METHOD4(NV_ReadPublic,
   1460       void(const TPMI_RH_NV_INDEX& nv_index,
   1461            const std::string& nv_index_name,
   1462            AuthorizationDelegate* authorization_delegate,
   1463            const NV_ReadPublicResponse& callback));
   1464   MOCK_METHOD5(NV_ReadPublicSync,
   1465       TPM_RC(const TPMI_RH_NV_INDEX& nv_index,
   1466              const std::string& nv_index_name,
   1467              TPM2B_NV_PUBLIC* nv_public,
   1468              TPM2B_NAME* nv_name,
   1469              AuthorizationDelegate* authorization_delegate));
   1470   MOCK_METHOD8(NV_Write,
   1471       void(const TPMI_RH_NV_AUTH& auth_handle,
   1472            const std::string& auth_handle_name,
   1473            const TPMI_RH_NV_INDEX& nv_index,
   1474            const std::string& nv_index_name,
   1475            const TPM2B_MAX_NV_BUFFER& data,
   1476            const UINT16& offset,
   1477            AuthorizationDelegate* authorization_delegate,
   1478            const NV_WriteResponse& callback));
   1479   MOCK_METHOD7(NV_WriteSync,
   1480       TPM_RC(const TPMI_RH_NV_AUTH& auth_handle,
   1481              const std::string& auth_handle_name,
   1482              const TPMI_RH_NV_INDEX& nv_index,
   1483              const std::string& nv_index_name,
   1484              const TPM2B_MAX_NV_BUFFER& data,
   1485              const UINT16& offset,
   1486              AuthorizationDelegate* authorization_delegate));
   1487   MOCK_METHOD6(NV_Increment,
   1488       void(const TPMI_RH_NV_AUTH& auth_handle,
   1489            const std::string& auth_handle_name,
   1490            const TPMI_RH_NV_INDEX& nv_index,
   1491            const std::string& nv_index_name,
   1492            AuthorizationDelegate* authorization_delegate,
   1493            const NV_IncrementResponse& callback));
   1494   MOCK_METHOD5(NV_IncrementSync,
   1495       TPM_RC(const TPMI_RH_NV_AUTH& auth_handle,
   1496              const std::string& auth_handle_name,
   1497              const TPMI_RH_NV_INDEX& nv_index,
   1498              const std::string& nv_index_name,
   1499              AuthorizationDelegate* authorization_delegate));
   1500   MOCK_METHOD7(NV_Extend,
   1501       void(const TPMI_RH_NV_AUTH& auth_handle,
   1502            const std::string& auth_handle_name,
   1503            const TPMI_RH_NV_INDEX& nv_index,
   1504            const std::string& nv_index_name,
   1505            const TPM2B_MAX_NV_BUFFER& data,
   1506            AuthorizationDelegate* authorization_delegate,
   1507            const NV_ExtendResponse& callback));
   1508   MOCK_METHOD6(NV_ExtendSync,
   1509       TPM_RC(const TPMI_RH_NV_AUTH& auth_handle,
   1510              const std::string& auth_handle_name,
   1511              const TPMI_RH_NV_INDEX& nv_index,
   1512              const std::string& nv_index_name,
   1513              const TPM2B_MAX_NV_BUFFER& data,
   1514              AuthorizationDelegate* authorization_delegate));
   1515   MOCK_METHOD7(NV_SetBits,
   1516       void(const TPMI_RH_NV_AUTH& auth_handle,
   1517            const std::string& auth_handle_name,
   1518            const TPMI_RH_NV_INDEX& nv_index,
   1519            const std::string& nv_index_name,
   1520            const UINT64& bits,
   1521            AuthorizationDelegate* authorization_delegate,
   1522            const NV_SetBitsResponse& callback));
   1523   MOCK_METHOD6(NV_SetBitsSync,
   1524       TPM_RC(const TPMI_RH_NV_AUTH& auth_handle,
   1525              const std::string& auth_handle_name,
   1526              const TPMI_RH_NV_INDEX& nv_index,
   1527              const std::string& nv_index_name,
   1528              const UINT64& bits,
   1529              AuthorizationDelegate* authorization_delegate));
   1530   MOCK_METHOD6(NV_WriteLock,
   1531       void(const TPMI_RH_NV_AUTH& auth_handle,
   1532            const std::string& auth_handle_name,
   1533            const TPMI_RH_NV_INDEX& nv_index,
   1534            const std::string& nv_index_name,
   1535            AuthorizationDelegate* authorization_delegate,
   1536            const NV_WriteLockResponse& callback));
   1537   MOCK_METHOD5(NV_WriteLockSync,
   1538       TPM_RC(const TPMI_RH_NV_AUTH& auth_handle,
   1539              const std::string& auth_handle_name,
   1540              const TPMI_RH_NV_INDEX& nv_index,
   1541              const std::string& nv_index_name,
   1542              AuthorizationDelegate* authorization_delegate));
   1543   MOCK_METHOD4(NV_GlobalWriteLock,
   1544       void(const TPMI_RH_PROVISION& auth_handle,
   1545            const std::string& auth_handle_name,
   1546            AuthorizationDelegate* authorization_delegate,
   1547            const NV_GlobalWriteLockResponse& callback));
   1548   MOCK_METHOD3(NV_GlobalWriteLockSync,
   1549       TPM_RC(const TPMI_RH_PROVISION& auth_handle,
   1550              const std::string& auth_handle_name,
   1551              AuthorizationDelegate* authorization_delegate));
   1552   MOCK_METHOD8(NV_Read,
   1553       void(const TPMI_RH_NV_AUTH& auth_handle,
   1554            const std::string& auth_handle_name,
   1555            const TPMI_RH_NV_INDEX& nv_index,
   1556            const std::string& nv_index_name,
   1557            const UINT16& size,
   1558            const UINT16& offset,
   1559            AuthorizationDelegate* authorization_delegate,
   1560            const NV_ReadResponse& callback));
   1561   MOCK_METHOD8(NV_ReadSync,
   1562       TPM_RC(const TPMI_RH_NV_AUTH& auth_handle,
   1563              const std::string& auth_handle_name,
   1564              const TPMI_RH_NV_INDEX& nv_index,
   1565              const std::string& nv_index_name,
   1566              const UINT16& size,
   1567              const UINT16& offset,
   1568              TPM2B_MAX_NV_BUFFER* data,
   1569              AuthorizationDelegate* authorization_delegate));
   1570   MOCK_METHOD6(NV_ReadLock,
   1571       void(const TPMI_RH_NV_AUTH& auth_handle,
   1572            const std::string& auth_handle_name,
   1573            const TPMI_RH_NV_INDEX& nv_index,
   1574            const std::string& nv_index_name,
   1575            AuthorizationDelegate* authorization_delegate,
   1576            const NV_ReadLockResponse& callback));
   1577   MOCK_METHOD5(NV_ReadLockSync,
   1578       TPM_RC(const TPMI_RH_NV_AUTH& auth_handle,
   1579              const std::string& auth_handle_name,
   1580              const TPMI_RH_NV_INDEX& nv_index,
   1581              const std::string& nv_index_name,
   1582              AuthorizationDelegate* authorization_delegate));
   1583   MOCK_METHOD5(NV_ChangeAuth,
   1584       void(const TPMI_RH_NV_INDEX& nv_index,
   1585            const std::string& nv_index_name,
   1586            const TPM2B_AUTH& new_auth,
   1587            AuthorizationDelegate* authorization_delegate,
   1588            const NV_ChangeAuthResponse& callback));
   1589   MOCK_METHOD4(NV_ChangeAuthSync,
   1590       TPM_RC(const TPMI_RH_NV_INDEX& nv_index,
   1591              const std::string& nv_index_name,
   1592              const TPM2B_AUTH& new_auth,
   1593              AuthorizationDelegate* authorization_delegate));
   1594   // Too many args to mock, forward to *Short version.
   1595   void NV_Certify(const TPMI_DH_OBJECT& sign_handle,
   1596                   const std::string& sign_handle_name,
   1597                   const TPMI_RH_NV_AUTH& auth_handle,
   1598                   const std::string& auth_handle_name,
   1599                   const TPMI_RH_NV_INDEX& nv_index,
   1600                   const std::string& nv_index_name,
   1601                   const TPM2B_DATA& qualifying_data,
   1602                   const TPMT_SIG_SCHEME& in_scheme,
   1603                   const UINT16& size,
   1604                   const UINT16& offset,
   1605                   AuthorizationDelegate* authorization_delegate,
   1606                   const NV_CertifyResponse& callback) override;
   1607   MOCK_METHOD9(NV_CertifyShort,
   1608       void(const TPMI_DH_OBJECT& sign_handle,
   1609            const TPMI_RH_NV_AUTH& auth_handle,
   1610            const TPMI_RH_NV_INDEX& nv_index,
   1611            const TPM2B_DATA& qualifying_data,
   1612            const TPMT_SIG_SCHEME& in_scheme,
   1613            const UINT16& size,
   1614            const UINT16& offset,
   1615            AuthorizationDelegate* authorization_delegate,
   1616            const NV_CertifyResponse& callback));
   1617   // Too many args to mock, forward to *Short version.
   1618   TPM_RC NV_CertifySync(
   1619       const TPMI_DH_OBJECT& sign_handle,
   1620       const std::string& sign_handle_name,
   1621       const TPMI_RH_NV_AUTH& auth_handle,
   1622       const std::string& auth_handle_name,
   1623       const TPMI_RH_NV_INDEX& nv_index,
   1624       const std::string& nv_index_name,
   1625       const TPM2B_DATA& qualifying_data,
   1626       const TPMT_SIG_SCHEME& in_scheme,
   1627       const UINT16& size,
   1628       const UINT16& offset,
   1629       TPM2B_ATTEST* certify_info,
   1630       TPMT_SIGNATURE* signature,
   1631       AuthorizationDelegate* authorization_delegate) override;
   1632   MOCK_METHOD10(NV_CertifySyncShort,
   1633       TPM_RC(const TPMI_DH_OBJECT& sign_handle,
   1634              const TPMI_RH_NV_AUTH& auth_handle,
   1635              const TPMI_RH_NV_INDEX& nv_index,
   1636              const TPM2B_DATA& qualifying_data,
   1637              const TPMT_SIG_SCHEME& in_scheme,
   1638              const UINT16& size,
   1639              const UINT16& offset,
   1640              TPM2B_ATTEST* certify_info,
   1641              TPMT_SIGNATURE* signature,
   1642              AuthorizationDelegate* authorization_delegate));
   1643 };
   1644 
   1645 }  // namespace trunks
   1646 
   1647 #endif  // TRUNKS_MOCK_TPM_H_
   1648