// Copyright 2018 The Chromium Authors
// 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 GetUsageScenario([out] DWORD* cpus);
HRESULT OnUserAuthenticated([in] IUnknown* credential,
[in] BSTR username,
[in] BSTR password,
[in] BSTR sid,
[in] BOOL fire_credentials_changed);
};
[
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 domain, [in] BSTR username);
};
[
uuid(4ADC3A52-8673-4CE3-81F6-833D18BEEBA2),
version(1.0),
]
library GaiaCredentialProviderLib
{
importlib("stdole2.tlb");
[
uuid(PLACEHOLDER-GUID-89adae71-aee5-4ee2-bffb-e8424e06f519),
]
coclass GaiaCredentialProvider
{
[default] interface IGaiaCredentialProvider;
};
};