| // Copyright 2018 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // This file will be processed by the MIDL tool to |
| // produce the type library (GaiaCredentialProvider.tlb) and marshalling code. |
| |
| import "oaidl.idl"; |
| import "ocidl.idl"; |
| |
| [ |
| object, |
| uuid(CEC9EF6C-B2E6-4BB6-8F1E-1747BA4F7138), |
| pointer_default(unique) |
| ] |
| interface IGaiaCredentialProvider : IUnknown { |
| HRESULT OnUserAuthenticated([in] IUnknown* credential, |
| [in] BSTR username, |
| [in] BSTR password, |
| [in] BSTR sid, |
| [in] BOOL fire_credentials_changed); |
| HRESULT HasInternetConnection(); |
| }; |
| |
| typedef enum { |
| kHicForceYes, |
| kHicForceNo, |
| kHicCheckAlways |
| } HasInternetConnectionCheckType; |
| |
| [ |
| object, |
| uuid(224CE2FB-2977-4585-BD46-1BAE8D7964DE), |
| pointer_default(unique) |
| ] |
| interface IGaiaCredentialProviderForTesting : IUnknown { |
| HRESULT SetHasInternetConnection([in] HasInternetConnectionCheckType hic); |
| }; |
| |
| [ |
| object, |
| uuid(E5BF88DF-9966-465B-B233-C1CAC7510A59), |
| pointer_default(unique) |
| ] |
| interface IGaiaCredential : IUnknown { |
| HRESULT Initialize([in] IGaiaCredentialProvider* provider); |
| HRESULT Terminate(); |
| HRESULT OnUserAuthenticated([in] BSTR authentication_info, |
| [out] BSTR* status_text); |
| HRESULT ReportError([in] LONG status, |
| [in] LONG substatus, |
| [in] BSTR status_text); |
| }; |
| |
| [ |
| object, |
| uuid(CC75BCEA-A636-4798-BF8E-0FF64D743451), |
| pointer_default(unique) |
| ] |
| interface IReauthCredential : IUnknown { |
| HRESULT SetEmailForReauth([in] BSTR email); |
| HRESULT SetOSUserInfo([in] BSTR sid, [in] BSTR username); |
| }; |
| |
| [ |
| uuid(4ADC3A52-8673-4CE3-81F6-833D18BEEBA2), |
| version(1.0), |
| ] |
| library GaiaCredentialProviderLib |
| { |
| importlib("stdole2.tlb"); |
| [ |
| uuid(@GAIA_CREDENTIAL_PROVIDER_CLSID@), |
| ] |
| coclass GaiaCredentialProvider |
| { |
| [default] interface IGaiaCredentialProvider; |
| }; |
| }; |