Commit 99b45fa4 authored by Roger Tawa's avatar Roger Tawa Committed by Commit Bot

The credential provider should not attempt network connection

with no internet.

Bug: 906767
Change-Id: Ib98660b4a27f6d0f5f1d5b5706813307b06bc80b
Reviewed-on: https://chromium-review.googlesource.com/c/1343286
Commit-Queue: Roger Tawa <rogerta@chromium.org>
Reviewed-by: default avatarNico Weber <thakis@chromium.org>
Reviewed-by: default avatarGreg Thompson <grt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#610124}
parent c7b6d48b
...@@ -754,6 +754,7 @@ HRESULT CGaiaCredentialBase::GetSerialization( ...@@ -754,6 +754,7 @@ HRESULT CGaiaCredentialBase::GetSerialization(
CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION* cpcs, CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION* cpcs,
wchar_t** status_text, wchar_t** status_text,
CREDENTIAL_PROVIDER_STATUS_ICON* status_icon) { CREDENTIAL_PROVIDER_STATUS_ICON* status_icon) {
USES_CONVERSION;
LOGFN(INFO); LOGFN(INFO);
DCHECK(status_text); DCHECK(status_text);
DCHECK(status_icon); DCHECK(status_icon);
...@@ -785,6 +786,18 @@ HRESULT CGaiaCredentialBase::GetSerialization( ...@@ -785,6 +786,18 @@ HRESULT CGaiaCredentialBase::GetSerialization(
LOGFN(INFO) << "HandleAutologon hr=" << putHR(hr); LOGFN(INFO) << "HandleAutologon hr=" << putHR(hr);
TellOmahaDidRun(); TellOmahaDidRun();
// If there is no internet connection, just abort right away.
if (provider_->HasInternetConnection() != S_OK) {
BSTR error_message = AllocErrorString(IDS_NO_NETWORK);
::SHStrDupW(OLE2CW(error_message), status_text);
::SysFreeString(error_message);
*status_icon = CPSI_NONE;
*cpgsr = CPGSR_NO_CREDENTIAL_FINISHED;
LOGFN(INFO) << "No internet connection";
return S_OK;
}
// The account creation is async so we are not done yet. // The account creation is async so we are not done yet.
*cpgsr = CPGSR_NO_CREDENTIAL_NOT_FINISHED; *cpgsr = CPGSR_NO_CREDENTIAL_NOT_FINISHED;
......
...@@ -289,7 +289,7 @@ class GcpGaiaCredentialBaseTest : public ::testing::Test { ...@@ -289,7 +289,7 @@ class GcpGaiaCredentialBaseTest : public ::testing::Test {
public: public:
GcpGaiaCredentialBaseTest(); GcpGaiaCredentialBaseTest();
HRESULT StartLogonProcess(ICredentialProviderCredential* cred); HRESULT StartLogonProcess(ICredentialProviderCredential* cred, bool succeeds);
HRESULT WaitForLogonProcess(ICredentialProviderCredential* cred); HRESULT WaitForLogonProcess(ICredentialProviderCredential* cred);
HRESULT StartLogonProcessAndWait(ICredentialProviderCredential* cred); HRESULT StartLogonProcessAndWait(ICredentialProviderCredential* cred);
...@@ -315,7 +315,8 @@ GcpGaiaCredentialBaseTest::GcpGaiaCredentialBaseTest() { ...@@ -315,7 +315,8 @@ GcpGaiaCredentialBaseTest::GcpGaiaCredentialBaseTest() {
} }
HRESULT GcpGaiaCredentialBaseTest::StartLogonProcess( HRESULT GcpGaiaCredentialBaseTest::StartLogonProcess(
ICredentialProviderCredential* cred) { ICredentialProviderCredential* cred,
bool succeeds) {
BOOL auto_login; BOOL auto_login;
EXPECT_EQ(S_OK, cred->SetSelected(&auto_login)); EXPECT_EQ(S_OK, cred->SetSelected(&auto_login));
...@@ -327,9 +328,14 @@ HRESULT GcpGaiaCredentialBaseTest::StartLogonProcess( ...@@ -327,9 +328,14 @@ HRESULT GcpGaiaCredentialBaseTest::StartLogonProcess(
CREDENTIAL_PROVIDER_STATUS_ICON status_icon; CREDENTIAL_PROVIDER_STATUS_ICON status_icon;
EXPECT_EQ(S_OK, EXPECT_EQ(S_OK,
cred->GetSerialization(&cpgsr, &cpcs, &status_text, &status_icon)); cred->GetSerialization(&cpgsr, &cpcs, &status_text, &status_icon));
EXPECT_EQ(nullptr, status_text);
EXPECT_EQ(CPSI_NONE, status_icon); EXPECT_EQ(CPSI_NONE, status_icon);
EXPECT_EQ(CPGSR_NO_CREDENTIAL_NOT_FINISHED, cpgsr); if (succeeds) {
EXPECT_EQ(nullptr, status_text);
EXPECT_EQ(CPGSR_NO_CREDENTIAL_NOT_FINISHED, cpgsr);
} else {
EXPECT_NE(nullptr, status_text);
EXPECT_EQ(CPGSR_NO_CREDENTIAL_FINISHED, cpgsr);
}
return S_OK; return S_OK;
} }
...@@ -345,7 +351,7 @@ HRESULT GcpGaiaCredentialBaseTest::WaitForLogonProcess( ...@@ -345,7 +351,7 @@ HRESULT GcpGaiaCredentialBaseTest::WaitForLogonProcess(
HRESULT GcpGaiaCredentialBaseTest::StartLogonProcessAndWait( HRESULT GcpGaiaCredentialBaseTest::StartLogonProcessAndWait(
ICredentialProviderCredential* cred) { ICredentialProviderCredential* cred) {
EXPECT_EQ(S_OK, StartLogonProcess(cred)); EXPECT_EQ(S_OK, StartLogonProcess(cred, /*succeeds=*/true));
EXPECT_EQ(S_OK, WaitForLogonProcess(cred)); EXPECT_EQ(S_OK, WaitForLogonProcess(cred));
return S_OK; return S_OK;
} }
...@@ -369,6 +375,22 @@ TEST_F(GcpGaiaCredentialBaseTest, SetSelected) { ...@@ -369,6 +375,22 @@ TEST_F(GcpGaiaCredentialBaseTest, SetSelected) {
ASSERT_FALSE(auto_login); ASSERT_FALSE(auto_login);
} }
TEST_F(GcpGaiaCredentialBaseTest, GetSerialization_NoInternet) {
FakeGaiaCredentialProvider provider;
ASSERT_EQ(S_OK, provider.SetHasInternetConnection(kHicForceNo));
CComPtr<IGaiaCredential> gaia_cred;
CComPtr<ICredentialProviderCredential> cred;
ASSERT_EQ(S_OK, CreateCredentialWithProvider(&provider, &gaia_cred, &cred));
CComPtr<testing::ITestCredential> test;
ASSERT_EQ(S_OK, cred.QueryInterface(&test));
ASSERT_EQ(S_OK, StartLogonProcess(cred, /*succeeds=*/false));
ASSERT_EQ(S_OK, gaia_cred->Terminate());
}
TEST_F(GcpGaiaCredentialBaseTest, GetSerialization_Start) { TEST_F(GcpGaiaCredentialBaseTest, GetSerialization_Start) {
FakeGaiaCredentialProvider provider; FakeGaiaCredentialProvider provider;
...@@ -440,7 +462,7 @@ TEST_F(GcpGaiaCredentialBaseTest, GetSerialization_MultipleCalls) { ...@@ -440,7 +462,7 @@ TEST_F(GcpGaiaCredentialBaseTest, GetSerialization_MultipleCalls) {
ASSERT_EQ(S_OK, test->SetStartGlsEventName(kStartGlsEventName)); ASSERT_EQ(S_OK, test->SetStartGlsEventName(kStartGlsEventName));
base::WaitableEvent start_event(std::move(start_event_handle)); base::WaitableEvent start_event(std::move(start_event_handle));
ASSERT_EQ(S_OK, StartLogonProcess(cred)); ASSERT_EQ(S_OK, StartLogonProcess(cred, /*succeeds=*/true));
// Calling GetSerialization again while the credential is waiting for the // Calling GetSerialization again while the credential is waiting for the
// logon process should yield CPGSR_NO_CREDENTIAL_NOT_FINISHED as a // logon process should yield CPGSR_NO_CREDENTIAL_NOT_FINISHED as a
...@@ -481,7 +503,7 @@ TEST_F(GcpGaiaCredentialBaseTest, GetSerialization_Cancel) { ...@@ -481,7 +503,7 @@ TEST_F(GcpGaiaCredentialBaseTest, GetSerialization_Cancel) {
ASSERT_EQ(S_OK, test->SetStartGlsEventName(kStartGlsEventName)); ASSERT_EQ(S_OK, test->SetStartGlsEventName(kStartGlsEventName));
base::WaitableEvent start_event(std::move(start_event_handle)); base::WaitableEvent start_event(std::move(start_event_handle));
ASSERT_EQ(S_OK, StartLogonProcess(cred)); ASSERT_EQ(S_OK, StartLogonProcess(cred, /*succeeds=*/true));
// Deselect the credential provider so that it cancels the GLS process and // Deselect the credential provider so that it cancels the GLS process and
// returns. // returns.
......
...@@ -4,6 +4,8 @@ ...@@ -4,6 +4,8 @@
#include "chrome/credential_provider/gaiacp/gaia_credential_provider.h" #include "chrome/credential_provider/gaiacp/gaia_credential_provider.h"
#include <netlistmgr.h>
#include <iomanip> #include <iomanip>
#include <map> #include <map>
...@@ -150,6 +152,34 @@ HRESULT CGaiaCredentialProvider::OnUserAuthenticated(IUnknown* credential, ...@@ -150,6 +152,34 @@ HRESULT CGaiaCredentialProvider::OnUserAuthenticated(IUnknown* credential,
return hr; return hr;
} }
HRESULT CGaiaCredentialProvider::HasInternetConnection() {
if (has_internet_connection_ != kHicCheckAlways)
return has_internet_connection_ == kHicForceYes ? S_OK : S_FALSE;
// If any errors occur, return that internet connection is available. At
// worst the credential provider will try to connect and fail.
CComPtr<INetworkListManager> manager;
HRESULT hr = manager.CoCreateInstance(CLSID_NetworkListManager);
if (FAILED(hr)) {
LOGFN(ERROR) << "CoCreateInstance(NetworkListManager) hr=" << putHR(hr);
return S_OK;
}
VARIANT_BOOL is_connected;
hr = manager->get_IsConnectedToInternet(&is_connected);
if (FAILED(hr)) {
LOGFN(ERROR) << "manager->get_IsConnectedToInternet hr=" << putHR(hr);
return S_OK;
}
// Normally VARIANT_TRUE/VARIANT_FALSE are used with the type VARIANT_BOOL
// but in this case the docs explicitly say to use FALSE.
// https://docs.microsoft.com/en-us/windows/desktop/api/Netlistmgr/
// nf-netlistmgr-inetworklistmanager-get_isconnectedtointernet
return is_connected != FALSE ? S_OK : S_FALSE;
}
// IGaiaCredentialProviderForTesting ////////////////////////////////////////// // IGaiaCredentialProviderForTesting //////////////////////////////////////////
HRESULT CGaiaCredentialProvider::SetReauthCheckDoneEvent(INT_PTR event) { HRESULT CGaiaCredentialProvider::SetReauthCheckDoneEvent(INT_PTR event) {
...@@ -158,6 +188,12 @@ HRESULT CGaiaCredentialProvider::SetReauthCheckDoneEvent(INT_PTR event) { ...@@ -158,6 +188,12 @@ HRESULT CGaiaCredentialProvider::SetReauthCheckDoneEvent(INT_PTR event) {
return S_OK; return S_OK;
} }
HRESULT CGaiaCredentialProvider::SetHasInternetConnection(
HasInternetConnectionCheckType has_internet_connection) {
has_internet_connection_ = has_internet_connection;
return S_OK;
}
// ICredentialProvider //////////////////////////////////////////////////////// // ICredentialProvider ////////////////////////////////////////////////////////
HRESULT CGaiaCredentialProvider::SetUserArray( HRESULT CGaiaCredentialProvider::SetUserArray(
...@@ -269,17 +305,26 @@ HRESULT CGaiaCredentialProvider::SetUserArray( ...@@ -269,17 +305,26 @@ HRESULT CGaiaCredentialProvider::SetUserArray(
} }
// Fire off a thread to check with Gaia if a re-auth is required. This // Fire off a thread to check with Gaia if a re-auth is required. This
// sets the kUserNeedsReauth bit if needed. // sets the kUserNeedsReauth bit if needed. If there is no internet
unsigned wait_thread_id; // connection, don't bother.
uintptr_t wait_thread = _beginthreadex( if (HasInternetConnection() == S_OK) {
nullptr, 0, CheckReauthStatus, unsigned wait_thread_id;
reinterpret_cast<void*>(reauth_check_done_event_), 0, &wait_thread_id); uintptr_t wait_thread = _beginthreadex(
if (wait_thread != 0) { nullptr, 0, CheckReauthStatus,
LOGFN(INFO) << "Started check re-auth thread id=" << wait_thread_id; reinterpret_cast<void*>(reauth_check_done_event_), 0, &wait_thread_id);
::CloseHandle(reinterpret_cast<HANDLE>(wait_thread)); if (wait_thread != 0) {
LOGFN(INFO) << "Started check re-auth thread id=" << wait_thread_id;
::CloseHandle(reinterpret_cast<HANDLE>(wait_thread));
} else {
HRESULT hr = HRESULT_FROM_WIN32(::GetLastError());
LOGFN(ERROR) << "Unable to start check re-auth thread hr=" << putHR(hr);
if (reauth_check_done_event_ != INVALID_HANDLE_VALUE)
::SetEvent(reauth_check_done_event_);
}
} else { } else {
HRESULT hr = HRESULT_FROM_WIN32(::GetLastError()); LOGFN(INFO) << "No internet connection, not checking re-auth";
LOGFN(ERROR) << "Unable to start check re-auth thread hr=" << putHR(hr); if (reauth_check_done_event_ != INVALID_HANDLE_VALUE)
::SetEvent(reauth_check_done_event_);
} }
return S_OK; return S_OK;
......
...@@ -58,9 +58,12 @@ class ATL_NO_VTABLE CGaiaCredentialProvider ...@@ -58,9 +58,12 @@ class ATL_NO_VTABLE CGaiaCredentialProvider
BSTR username, BSTR username,
BSTR password, BSTR password,
BSTR sid) override; BSTR sid) override;
IFACEMETHODIMP HasInternetConnection() override;
// IGaiaCredentialProviderForTesting // IGaiaCredentialProviderForTesting
IFACEMETHODIMP SetReauthCheckDoneEvent([in] INT_PTR event) override; IFACEMETHODIMP SetReauthCheckDoneEvent(INT_PTR event) override;
IFACEMETHODIMP SetHasInternetConnection(
HasInternetConnectionCheckType has_internet_connection) override;
// ICredentialProviderSetUserArray // ICredentialProviderSetUserArray
IFACEMETHODIMP SetUserArray(ICredentialProviderUserArray* users) override; IFACEMETHODIMP SetUserArray(ICredentialProviderUserArray* users) override;
...@@ -100,7 +103,15 @@ class ATL_NO_VTABLE CGaiaCredentialProvider ...@@ -100,7 +103,15 @@ class ATL_NO_VTABLE CGaiaCredentialProvider
// authentication. // authentication.
size_t index_ = std::numeric_limits<size_t>::max(); size_t index_ = std::numeric_limits<size_t>::max();
// Handle to an event that is signaled once the background reauth checks
// are done. This is used only in unit tests to keep from polling or using
// a hardcoded wait.
HANDLE reauth_check_done_event_ = INVALID_HANDLE_VALUE; HANDLE reauth_check_done_event_ = INVALID_HANDLE_VALUE;
// Used during tests to force the credential provider to believe if an
// internet connection is possible or not. In production the value is
// always set to HIC_CHECK_ALWAYS to perform a real check at runtime.
HasInternetConnectionCheckType has_internet_connection_ = kHicCheckAlways;
}; };
OBJECT_ENTRY_AUTO(__uuidof(GaiaCredentialProvider), CGaiaCredentialProvider) OBJECT_ENTRY_AUTO(__uuidof(GaiaCredentialProvider), CGaiaCredentialProvider)
......
...@@ -18,8 +18,15 @@ interface IGaiaCredentialProvider : IUnknown { ...@@ -18,8 +18,15 @@ interface IGaiaCredentialProvider : IUnknown {
[in] BSTR username, [in] BSTR username,
[in] BSTR password, [in] BSTR password,
[in] BSTR sid); [in] BSTR sid);
HRESULT HasInternetConnection();
}; };
typedef enum {
kHicForceYes,
kHicForceNo,
kHicCheckAlways
} HasInternetConnectionCheckType;
[ [
object, object,
uuid(224CE2FB-2977-4585-BD46-1BAE8D7964DE), uuid(224CE2FB-2977-4585-BD46-1BAE8D7964DE),
...@@ -27,6 +34,7 @@ interface IGaiaCredentialProvider : IUnknown { ...@@ -27,6 +34,7 @@ interface IGaiaCredentialProvider : IUnknown {
] ]
interface IGaiaCredentialProviderForTesting : IUnknown { interface IGaiaCredentialProviderForTesting : IUnknown {
HRESULT SetReauthCheckDoneEvent([in] INT_PTR event); HRESULT SetReauthCheckDoneEvent([in] INT_PTR event);
HRESULT SetHasInternetConnection([in] HasInternetConnectionCheckType hic);
}; };
[ [
......
...@@ -159,7 +159,7 @@ TEST_F(GcpCredentialProviderTest, SetUserArray_NeedsReauth) { ...@@ -159,7 +159,7 @@ TEST_F(GcpCredentialProviderTest, SetUserArray_NeedsReauth) {
} }
TEST_F(GcpCredentialProviderTest, SetUserArray_PasswordChanged) { TEST_F(GcpCredentialProviderTest, SetUserArray_PasswordChanged) {
// Create two GCPW users that are not marked as needing reauth. // Create one GCPW user that is not marked as needing reauth.
CComBSTR sid1; CComBSTR sid1;
CreateGCPWUser(L"u1", L"p1", L"n1", L"c1", &sid1); CreateGCPWUser(L"u1", L"p1", L"n1", L"c1", &sid1);
...@@ -204,6 +204,59 @@ TEST_F(GcpCredentialProviderTest, SetUserArray_PasswordChanged) { ...@@ -204,6 +204,59 @@ TEST_F(GcpCredentialProviderTest, SetUserArray_PasswordChanged) {
ASSERT_EQ(1u, needs_reauth); ASSERT_EQ(1u, needs_reauth);
} }
TEST_F(GcpCredentialProviderTest, SetUserArray_NoInternet) {
// Create two GCPW users: the first not marked as needing reauth and the
// second marked as needing reauth.
CComBSTR sid1;
CComBSTR sid2;
CreateGCPWUser(L"u1", L"p1", L"n1", L"c1", &sid1);
CreateGCPWUser(L"u2", L"p2", L"n2", L"c2", &sid2);
ASSERT_EQ(S_OK, SetUserProperty(OLE2CW(sid2), L"nr", 1));
CComPtr<ICredentialProviderSetUserArray> user_array;
ASSERT_EQ(
S_OK,
CComCreator<CComObject<CGaiaCredentialProvider>>::CreateInstance(
nullptr, IID_ICredentialProviderSetUserArray, (void**)&user_array));
base::WaitableEvent reauth_check_done_event;
CComPtr<IGaiaCredentialProviderForTesting> for_testing;
ASSERT_EQ(S_OK, user_array.QueryInterface(&for_testing));
ASSERT_EQ(S_OK,
for_testing->SetReauthCheckDoneEvent(
reinterpret_cast<INT_PTR>(reauth_check_done_event.handle())));
ASSERT_EQ(S_OK, for_testing->SetHasInternetConnection(kHicForceNo));
FakeCredentialProviderUserArray array;
array.AddUser(OLE2CW(sid1), L"u1");
array.AddUser(OLE2CW(sid2), L"u2");
ASSERT_EQ(S_OK, user_array->SetUserArray(&array));
CComPtr<ICredentialProvider> provider;
ASSERT_EQ(S_OK, user_array.QueryInterface(&provider));
// There should be 1 credential since only one account is marked above.
DWORD count;
DWORD default_index;
BOOL autologon;
ASSERT_EQ(S_OK,
provider->GetCredentialCount(&count, &default_index, &autologon));
ASSERT_EQ(1u, count);
EXPECT_EQ(CREDENTIAL_PROVIDER_NO_DEFAULT, default_index);
EXPECT_FALSE(autologon);
// There is no internet connection, so no network check can be performed.
// Account reauth status should remain the same.
reauth_check_done_event.Wait();
DWORD needs_reauth;
ASSERT_EQ(S_OK, GetUserProperty(OLE2CW(sid1), L"nr", &needs_reauth));
ASSERT_EQ(0u, needs_reauth);
ASSERT_EQ(S_OK, GetUserProperty(OLE2CW(sid2), L"nr", &needs_reauth));
ASSERT_EQ(1u, needs_reauth);
}
TEST_F(GcpCredentialProviderTest, CpusLogon) { TEST_F(GcpCredentialProviderTest, CpusLogon) {
CComPtr<ICredentialProvider> provider; CComPtr<ICredentialProvider> provider;
ASSERT_EQ(S_OK, ASSERT_EQ(S_OK,
......
...@@ -169,6 +169,9 @@ ...@@ -169,6 +169,9 @@
<message name="IDS_USER_ACCOUNT_COMMENT" desc=""> <message name="IDS_USER_ACCOUNT_COMMENT" desc="">
Google user Google user
</message> </message>
<message name="IDS_NO_NETWORK" desc="">
Make sure you have a network connection and try again.
</message>
</messages> </messages>
</release> </release>
</grit> </grit>
9814ea3c11b59485bc0e2db58169495a281ed063
\ No newline at end of file
...@@ -2,8 +2,10 @@ ...@@ -2,8 +2,10 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#include "chrome/credential_provider/gaiacp/stdafx.h"
#include "chrome/credential_provider/test/com_fakes.h" #include "chrome/credential_provider/test/com_fakes.h"
#include "base/logging.h"
#include "chrome/credential_provider/gaiacp/stdafx.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
namespace credential_provider { namespace credential_provider {
...@@ -115,6 +117,24 @@ HRESULT FakeGaiaCredentialProvider::OnUserAuthenticated(IUnknown* credential, ...@@ -115,6 +117,24 @@ HRESULT FakeGaiaCredentialProvider::OnUserAuthenticated(IUnknown* credential,
return S_OK; return S_OK;
} }
HRESULT FakeGaiaCredentialProvider::HasInternetConnection() {
return has_internet_connection_ == kHicForceYes ? S_OK : S_FALSE;
}
// IGaiaCredentialProviderForTesting //////////////////////////////////////////
HRESULT FakeGaiaCredentialProvider::SetReauthCheckDoneEvent(INT_PTR event) {
NOTREACHED();
return E_NOTIMPL;
}
HRESULT FakeGaiaCredentialProvider::SetHasInternetConnection(
HasInternetConnectionCheckType has_internet_connection) {
DCHECK(has_internet_connection != kHicCheckAlways);
has_internet_connection_ = has_internet_connection;
return S_OK;
}
IMPL_IUNKOWN_NOQI_NOREF(FakeGaiaCredentialProvider); IMPL_IUNKOWN_NOQI_NOREF(FakeGaiaCredentialProvider);
} // namespace credential_provider } // namespace credential_provider
...@@ -88,7 +88,8 @@ class FakeCredentialProviderEvents : public ICredentialProviderEvents { ...@@ -88,7 +88,8 @@ class FakeCredentialProviderEvents : public ICredentialProviderEvents {
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
// Fake the GaiaCredentialProvider COM object. // Fake the GaiaCredentialProvider COM object.
class FakeGaiaCredentialProvider : public IGaiaCredentialProvider { class FakeGaiaCredentialProvider : public IGaiaCredentialProvider,
public IGaiaCredentialProviderForTesting {
public: public:
FakeGaiaCredentialProvider(); FakeGaiaCredentialProvider();
virtual ~FakeGaiaCredentialProvider(); virtual ~FakeGaiaCredentialProvider();
...@@ -97,7 +98,6 @@ class FakeGaiaCredentialProvider : public IGaiaCredentialProvider { ...@@ -97,7 +98,6 @@ class FakeGaiaCredentialProvider : public IGaiaCredentialProvider {
const CComBSTR& password() const { return password_; } const CComBSTR& password() const { return password_; }
const CComBSTR& sid() const { return sid_; } const CComBSTR& sid() const { return sid_; }
private:
// IGaiaCredentialProvider // IGaiaCredentialProvider
IFACEMETHODIMP QueryInterface(REFIID riid, void** ppv) override; IFACEMETHODIMP QueryInterface(REFIID riid, void** ppv) override;
ULONG STDMETHODCALLTYPE AddRef() override; ULONG STDMETHODCALLTYPE AddRef() override;
...@@ -106,10 +106,18 @@ class FakeGaiaCredentialProvider : public IGaiaCredentialProvider { ...@@ -106,10 +106,18 @@ class FakeGaiaCredentialProvider : public IGaiaCredentialProvider {
BSTR username, BSTR username,
BSTR password, BSTR password,
BSTR sid) override; BSTR sid) override;
IFACEMETHODIMP HasInternetConnection() override;
// IGaiaCredentialProviderForTesting
IFACEMETHODIMP SetReauthCheckDoneEvent(INT_PTR event) override;
IFACEMETHODIMP SetHasInternetConnection(
HasInternetConnectionCheckType has_internet_connection) override;
private:
CComBSTR username_; CComBSTR username_;
CComBSTR password_; CComBSTR password_;
CComBSTR sid_; CComBSTR sid_;
HasInternetConnectionCheckType has_internet_connection_ = kHicForceYes;
}; };
} // namespace credential_provider } // namespace credential_provider
......
...@@ -82,7 +82,7 @@ MIDL_DEFINE_GUID(IID, IID_IReauthCredential,0xCC75BCEA,0xA636,0x4798,0xBF,0x8E,0 ...@@ -82,7 +82,7 @@ MIDL_DEFINE_GUID(IID, IID_IReauthCredential,0xCC75BCEA,0xA636,0x4798,0xBF,0x8E,0
MIDL_DEFINE_GUID(IID, LIBID_GaiaCredentialProviderLib,0x4ADC3A52,0x8673,0x4CE3,0x81,0xF6,0x83,0x3D,0x18,0xBE,0xEB,0xA2); MIDL_DEFINE_GUID(IID, LIBID_GaiaCredentialProviderLib,0x4ADC3A52,0x8673,0x4CE3,0x81,0xF6,0x83,0x3D,0x18,0xBE,0xEB,0xA2);
MIDL_DEFINE_GUID(CLSID, CLSID_GaiaCredentialProvider,0x89adae71,0xaee5,0x4ee2,0xbf,0xfb,0xe8,0x42,0x4e,0x06,0xf5,0x19); MIDL_DEFINE_GUID(CLSID, CLSID_GaiaCredentialProvider,0x0b5bfdf0,0x4594,0x47ac,0x94,0x0a,0xcf,0xc6,0x9a,0xbc,0x56,0x1c);
#undef MIDL_DEFINE_GUID #undef MIDL_DEFINE_GUID
......
...@@ -115,6 +115,8 @@ EXTERN_C const IID IID_IGaiaCredentialProvider; ...@@ -115,6 +115,8 @@ EXTERN_C const IID IID_IGaiaCredentialProvider;
/* [in] */ BSTR password, /* [in] */ BSTR password,
/* [in] */ BSTR sid) = 0; /* [in] */ BSTR sid) = 0;
virtual HRESULT STDMETHODCALLTYPE HasInternetConnection( void) = 0;
}; };
...@@ -143,6 +145,9 @@ EXTERN_C const IID IID_IGaiaCredentialProvider; ...@@ -143,6 +145,9 @@ EXTERN_C const IID IID_IGaiaCredentialProvider;
/* [in] */ BSTR password, /* [in] */ BSTR password,
/* [in] */ BSTR sid); /* [in] */ BSTR sid);
HRESULT ( STDMETHODCALLTYPE *HasInternetConnection )(
IGaiaCredentialProvider * This);
END_INTERFACE END_INTERFACE
} IGaiaCredentialProviderVtbl; } IGaiaCredentialProviderVtbl;
...@@ -169,6 +174,9 @@ EXTERN_C const IID IID_IGaiaCredentialProvider; ...@@ -169,6 +174,9 @@ EXTERN_C const IID IID_IGaiaCredentialProvider;
#define IGaiaCredentialProvider_OnUserAuthenticated(This,credential,username,password,sid) \ #define IGaiaCredentialProvider_OnUserAuthenticated(This,credential,username,password,sid) \
( (This)->lpVtbl -> OnUserAuthenticated(This,credential,username,password,sid) ) ( (This)->lpVtbl -> OnUserAuthenticated(This,credential,username,password,sid) )
#define IGaiaCredentialProvider_HasInternetConnection(This) \
( (This)->lpVtbl -> HasInternetConnection(This) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
...@@ -180,6 +188,22 @@ EXTERN_C const IID IID_IGaiaCredentialProvider; ...@@ -180,6 +188,22 @@ EXTERN_C const IID IID_IGaiaCredentialProvider;
#endif /* __IGaiaCredentialProvider_INTERFACE_DEFINED__ */ #endif /* __IGaiaCredentialProvider_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_gaia_credential_provider_0000_0001 */
/* [local] */
typedef /* [public][public] */
enum __MIDL___MIDL_itf_gaia_credential_provider_0000_0001_0001
{
kHicForceYes = 0,
kHicForceNo = ( kHicForceYes + 1 ) ,
kHicCheckAlways = ( kHicForceNo + 1 )
} HasInternetConnectionCheckType;
extern RPC_IF_HANDLE __MIDL_itf_gaia_credential_provider_0000_0001_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_gaia_credential_provider_0000_0001_v0_0_s_ifspec;
#ifndef __IGaiaCredentialProviderForTesting_INTERFACE_DEFINED__ #ifndef __IGaiaCredentialProviderForTesting_INTERFACE_DEFINED__
#define __IGaiaCredentialProviderForTesting_INTERFACE_DEFINED__ #define __IGaiaCredentialProviderForTesting_INTERFACE_DEFINED__
...@@ -198,6 +222,9 @@ EXTERN_C const IID IID_IGaiaCredentialProviderForTesting; ...@@ -198,6 +222,9 @@ EXTERN_C const IID IID_IGaiaCredentialProviderForTesting;
virtual HRESULT STDMETHODCALLTYPE SetReauthCheckDoneEvent( virtual HRESULT STDMETHODCALLTYPE SetReauthCheckDoneEvent(
/* [in] */ INT_PTR event) = 0; /* [in] */ INT_PTR event) = 0;
virtual HRESULT STDMETHODCALLTYPE SetHasInternetConnection(
/* [in] */ HasInternetConnectionCheckType hic) = 0;
}; };
...@@ -223,6 +250,10 @@ EXTERN_C const IID IID_IGaiaCredentialProviderForTesting; ...@@ -223,6 +250,10 @@ EXTERN_C const IID IID_IGaiaCredentialProviderForTesting;
IGaiaCredentialProviderForTesting * This, IGaiaCredentialProviderForTesting * This,
/* [in] */ INT_PTR event); /* [in] */ INT_PTR event);
HRESULT ( STDMETHODCALLTYPE *SetHasInternetConnection )(
IGaiaCredentialProviderForTesting * This,
/* [in] */ HasInternetConnectionCheckType hic);
END_INTERFACE END_INTERFACE
} IGaiaCredentialProviderForTestingVtbl; } IGaiaCredentialProviderForTestingVtbl;
...@@ -249,6 +280,9 @@ EXTERN_C const IID IID_IGaiaCredentialProviderForTesting; ...@@ -249,6 +280,9 @@ EXTERN_C const IID IID_IGaiaCredentialProviderForTesting;
#define IGaiaCredentialProviderForTesting_SetReauthCheckDoneEvent(This,event) \ #define IGaiaCredentialProviderForTesting_SetReauthCheckDoneEvent(This,event) \
( (This)->lpVtbl -> SetReauthCheckDoneEvent(This,event) ) ( (This)->lpVtbl -> SetReauthCheckDoneEvent(This,event) )
#define IGaiaCredentialProviderForTesting_SetHasInternetConnection(This,hic) \
( (This)->lpVtbl -> SetHasInternetConnection(This,hic) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
...@@ -490,7 +524,7 @@ EXTERN_C const CLSID CLSID_GaiaCredentialProvider; ...@@ -490,7 +524,7 @@ EXTERN_C const CLSID CLSID_GaiaCredentialProvider;
#ifdef __cplusplus #ifdef __cplusplus
class DECLSPEC_UUID("89adae71-aee5-4ee2-bffb-e8424e06f519") class DECLSPEC_UUID("0b5bfdf0-4594-47ac-940a-cfc69abc561c")
GaiaCredentialProvider; GaiaCredentialProvider;
#endif #endif
#endif /* __GaiaCredentialProviderLib_LIBRARY_DEFINED__ */ #endif /* __GaiaCredentialProviderLib_LIBRARY_DEFINED__ */
......
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
#include "gaia_credential_provider_i.h" #include "gaia_credential_provider_i.h"
#define TYPE_FORMAT_STRING_SIZE 93 #define TYPE_FORMAT_STRING_SIZE 93
#define PROC_FORMAT_STRING_SIZE 371 #define PROC_FORMAT_STRING_SIZE 409
#define EXPR_FORMAT_STRING_SIZE 1 #define EXPR_FORMAT_STRING_SIZE 1
#define TRANSMIT_AS_TABLE_SIZE 0 #define TRANSMIT_AS_TABLE_SIZE 0
#define WIRE_MARSHAL_TABLE_SIZE 1 #define WIRE_MARSHAL_TABLE_SIZE 1
...@@ -168,17 +168,20 @@ static const gaia_credential_provider_MIDL_PROC_FORMAT_STRING gaia_credential_pr ...@@ -168,17 +168,20 @@ static const gaia_credential_provider_MIDL_PROC_FORMAT_STRING gaia_credential_pr
/* 54 */ 0x8, /* FC_LONG */ /* 54 */ 0x8, /* FC_LONG */
0x0, /* 0 */ 0x0, /* 0 */
/* Procedure SetReauthCheckDoneEvent */ /* Procedure Terminate */
/* Procedure HasInternetConnection */
/* 56 */ 0x33, /* FC_AUTO_HANDLE */ /* 56 */ 0x33, /* FC_AUTO_HANDLE */
0x6c, /* Old Flags: object, Oi2 */ 0x6c, /* Old Flags: object, Oi2 */
/* 58 */ NdrFcLong( 0x0 ), /* 0 */ /* 58 */ NdrFcLong( 0x0 ), /* 0 */
/* 62 */ NdrFcShort( 0x3 ), /* 3 */ /* 62 */ NdrFcShort( 0x4 ), /* 4 */
/* 64 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ /* 64 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
/* 66 */ NdrFcShort( 0x8 ), /* 8 */ /* 66 */ NdrFcShort( 0x0 ), /* 0 */
/* 68 */ NdrFcShort( 0x8 ), /* 8 */ /* 68 */ NdrFcShort( 0x8 ), /* 8 */
/* 70 */ 0x44, /* Oi2 Flags: has return, has ext, */ /* 70 */ 0x44, /* Oi2 Flags: has return, has ext, */
0x2, /* 2 */ 0x1, /* 1 */
/* 72 */ 0xa, /* 10 */ /* 72 */ 0xa, /* 10 */
0x1, /* Ext Flags: new corr desc, */ 0x1, /* Ext Flags: new corr desc, */
/* 74 */ NdrFcShort( 0x0 ), /* 0 */ /* 74 */ NdrFcShort( 0x0 ), /* 0 */
...@@ -186,254 +189,289 @@ static const gaia_credential_provider_MIDL_PROC_FORMAT_STRING gaia_credential_pr ...@@ -186,254 +189,289 @@ static const gaia_credential_provider_MIDL_PROC_FORMAT_STRING gaia_credential_pr
/* 78 */ NdrFcShort( 0x0 ), /* 0 */ /* 78 */ NdrFcShort( 0x0 ), /* 0 */
/* 80 */ NdrFcShort( 0x0 ), /* 0 */ /* 80 */ NdrFcShort( 0x0 ), /* 0 */
/* Parameter event */ /* Return value */
/* 82 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
/* 84 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
/* 86 */ 0xb8, /* FC_INT3264 */
0x0, /* 0 */
/* Return value */ /* Return value */
/* 88 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ /* 82 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
/* 90 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ /* 84 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
/* 92 */ 0x8, /* FC_LONG */ /* 86 */ 0x8, /* FC_LONG */
0x0, /* 0 */ 0x0, /* 0 */
/* Procedure Initialize */ /* Procedure SetReauthCheckDoneEvent */
/* 94 */ 0x33, /* FC_AUTO_HANDLE */ /* 88 */ 0x33, /* FC_AUTO_HANDLE */
0x6c, /* Old Flags: object, Oi2 */ 0x6c, /* Old Flags: object, Oi2 */
/* 96 */ NdrFcLong( 0x0 ), /* 0 */ /* 90 */ NdrFcLong( 0x0 ), /* 0 */
/* 100 */ NdrFcShort( 0x3 ), /* 3 */ /* 94 */ NdrFcShort( 0x3 ), /* 3 */
/* 102 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ /* 96 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
/* 104 */ NdrFcShort( 0x0 ), /* 0 */ /* 98 */ NdrFcShort( 0x8 ), /* 8 */
/* 106 */ NdrFcShort( 0x8 ), /* 8 */ /* 100 */ NdrFcShort( 0x8 ), /* 8 */
/* 108 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ /* 102 */ 0x44, /* Oi2 Flags: has return, has ext, */
0x2, /* 2 */ 0x2, /* 2 */
/* 110 */ 0xa, /* 10 */ /* 104 */ 0xa, /* 10 */
0x1, /* Ext Flags: new corr desc, */ 0x1, /* Ext Flags: new corr desc, */
/* 106 */ NdrFcShort( 0x0 ), /* 0 */
/* 108 */ NdrFcShort( 0x0 ), /* 0 */
/* 110 */ NdrFcShort( 0x0 ), /* 0 */
/* 112 */ NdrFcShort( 0x0 ), /* 0 */ /* 112 */ NdrFcShort( 0x0 ), /* 0 */
/* 114 */ NdrFcShort( 0x0 ), /* 0 */
/* 116 */ NdrFcShort( 0x0 ), /* 0 */
/* 118 */ NdrFcShort( 0x0 ), /* 0 */
/* Parameter provider */ /* Parameter event */
/* 120 */ NdrFcShort( 0xb ), /* Flags: must size, must free, in, */ /* 114 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
/* 122 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ /* 116 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
/* 124 */ NdrFcShort( 0x38 ), /* Type Offset=56 */ /* 118 */ 0xb8, /* FC_INT3264 */
0x0, /* 0 */
/* Return value */ /* Return value */
/* 126 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ /* 120 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
/* 128 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ /* 122 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
/* 130 */ 0x8, /* FC_LONG */ /* 124 */ 0x8, /* FC_LONG */
0x0, /* 0 */ 0x0, /* 0 */
/* Procedure Terminate */ /* Procedure SetHasInternetConnection */
/* 132 */ 0x33, /* FC_AUTO_HANDLE */ /* 126 */ 0x33, /* FC_AUTO_HANDLE */
0x6c, /* Old Flags: object, Oi2 */ 0x6c, /* Old Flags: object, Oi2 */
/* 134 */ NdrFcLong( 0x0 ), /* 0 */ /* 128 */ NdrFcLong( 0x0 ), /* 0 */
/* 138 */ NdrFcShort( 0x4 ), /* 4 */ /* 132 */ NdrFcShort( 0x4 ), /* 4 */
/* 140 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ /* 134 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
/* 142 */ NdrFcShort( 0x0 ), /* 0 */ /* 136 */ NdrFcShort( 0x6 ), /* 6 */
/* 144 */ NdrFcShort( 0x8 ), /* 8 */ /* 138 */ NdrFcShort( 0x8 ), /* 8 */
/* 146 */ 0x44, /* Oi2 Flags: has return, has ext, */ /* 140 */ 0x44, /* Oi2 Flags: has return, has ext, */
0x1, /* 1 */ 0x2, /* 2 */
/* 148 */ 0xa, /* 10 */ /* 142 */ 0xa, /* 10 */
0x1, /* Ext Flags: new corr desc, */ 0x1, /* Ext Flags: new corr desc, */
/* 144 */ NdrFcShort( 0x0 ), /* 0 */
/* 146 */ NdrFcShort( 0x0 ), /* 0 */
/* 148 */ NdrFcShort( 0x0 ), /* 0 */
/* 150 */ NdrFcShort( 0x0 ), /* 0 */ /* 150 */ NdrFcShort( 0x0 ), /* 0 */
/* 152 */ NdrFcShort( 0x0 ), /* 0 */
/* 154 */ NdrFcShort( 0x0 ), /* 0 */ /* Parameter hic */
/* 156 */ NdrFcShort( 0x0 ), /* 0 */
/* 152 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
/* 154 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
/* 156 */ 0xd, /* FC_ENUM16 */
0x0, /* 0 */
/* Return value */ /* Return value */
/* 158 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ /* 158 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
/* 160 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ /* 160 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
/* 162 */ 0x8, /* FC_LONG */ /* 162 */ 0x8, /* FC_LONG */
0x0, /* 0 */ 0x0, /* 0 */
/* Procedure FinishAuthentication */ /* Procedure Initialize */
/* 164 */ 0x33, /* FC_AUTO_HANDLE */ /* 164 */ 0x33, /* FC_AUTO_HANDLE */
0x6c, /* Old Flags: object, Oi2 */ 0x6c, /* Old Flags: object, Oi2 */
/* 166 */ NdrFcLong( 0x0 ), /* 0 */ /* 166 */ NdrFcLong( 0x0 ), /* 0 */
/* 170 */ NdrFcShort( 0x5 ), /* 5 */ /* 170 */ NdrFcShort( 0x3 ), /* 3 */
/* 172 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */ /* 172 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
/* 174 */ NdrFcShort( 0x0 ), /* 0 */ /* 174 */ NdrFcShort( 0x0 ), /* 0 */
/* 176 */ NdrFcShort( 0x8 ), /* 8 */ /* 176 */ NdrFcShort( 0x8 ), /* 8 */
/* 178 */ 0x47, /* Oi2 Flags: srv must size, clt must size, has return, has ext, */ /* 178 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */
0x6, /* 6 */ 0x2, /* 2 */
/* 180 */ 0xa, /* 10 */ /* 180 */ 0xa, /* 10 */
0x7, /* Ext Flags: new corr desc, clt corr check, srv corr check, */ 0x1, /* Ext Flags: new corr desc, */
/* 182 */ NdrFcShort( 0x1 ), /* 1 */ /* 182 */ NdrFcShort( 0x0 ), /* 0 */
/* 184 */ NdrFcShort( 0x1 ), /* 1 */ /* 184 */ NdrFcShort( 0x0 ), /* 0 */
/* 186 */ NdrFcShort( 0x0 ), /* 0 */ /* 186 */ NdrFcShort( 0x0 ), /* 0 */
/* 188 */ NdrFcShort( 0x0 ), /* 0 */ /* 188 */ NdrFcShort( 0x0 ), /* 0 */
/* Parameter username */ /* Parameter provider */
/* 190 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ /* 190 */ NdrFcShort( 0xb ), /* Flags: must size, must free, in, */
/* 192 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ /* 192 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
/* 194 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ /* 194 */ NdrFcShort( 0x38 ), /* Type Offset=56 */
/* Parameter password */ /* Return value */
/* 196 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ /* 196 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
/* 198 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ /* 198 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
/* 200 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ /* 200 */ 0x8, /* FC_LONG */
0x0, /* 0 */
/* Procedure FinishAuthentication */
/* 202 */ 0x33, /* FC_AUTO_HANDLE */
0x6c, /* Old Flags: object, Oi2 */
/* 204 */ NdrFcLong( 0x0 ), /* 0 */
/* 208 */ NdrFcShort( 0x5 ), /* 5 */
/* 210 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */
/* 212 */ NdrFcShort( 0x0 ), /* 0 */
/* 214 */ NdrFcShort( 0x8 ), /* 8 */
/* 216 */ 0x47, /* Oi2 Flags: srv must size, clt must size, has return, has ext, */
0x6, /* 6 */
/* 218 */ 0xa, /* 10 */
0x7, /* Ext Flags: new corr desc, clt corr check, srv corr check, */
/* 220 */ NdrFcShort( 0x1 ), /* 1 */
/* 222 */ NdrFcShort( 0x1 ), /* 1 */
/* 224 */ NdrFcShort( 0x0 ), /* 0 */
/* 226 */ NdrFcShort( 0x0 ), /* 0 */
/* Parameter username */
/* 228 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
/* 230 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
/* 232 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
/* Parameter password */
/* 234 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
/* 236 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
/* 238 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
/* Parameter fullname */ /* Parameter fullname */
/* 202 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ /* 240 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
/* 204 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ /* 242 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
/* 206 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ /* 244 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
/* Parameter sid */ /* Parameter sid */
/* 208 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ /* 246 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
/* 210 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ /* 248 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
/* 212 */ NdrFcShort( 0x52 ), /* Type Offset=82 */ /* 250 */ NdrFcShort( 0x52 ), /* Type Offset=82 */
/* Parameter error_text */ /* Parameter error_text */
/* 214 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ /* 252 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
/* 216 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ /* 254 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
/* 218 */ NdrFcShort( 0x52 ), /* Type Offset=82 */ /* 256 */ NdrFcShort( 0x52 ), /* Type Offset=82 */
/* Return value */ /* Return value */
/* 220 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ /* 258 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
/* 222 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */ /* 260 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */
/* 224 */ 0x8, /* FC_LONG */ /* 262 */ 0x8, /* FC_LONG */
0x0, /* 0 */ 0x0, /* 0 */
/* Procedure OnUserAuthenticated */ /* Procedure OnUserAuthenticated */
/* 226 */ 0x33, /* FC_AUTO_HANDLE */ /* 264 */ 0x33, /* FC_AUTO_HANDLE */
0x6c, /* Old Flags: object, Oi2 */ 0x6c, /* Old Flags: object, Oi2 */
/* 228 */ NdrFcLong( 0x0 ), /* 0 */ /* 266 */ NdrFcLong( 0x0 ), /* 0 */
/* 232 */ NdrFcShort( 0x6 ), /* 6 */ /* 270 */ NdrFcShort( 0x6 ), /* 6 */
/* 234 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ /* 272 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
/* 236 */ NdrFcShort( 0x0 ), /* 0 */ /* 274 */ NdrFcShort( 0x0 ), /* 0 */
/* 238 */ NdrFcShort( 0x8 ), /* 8 */ /* 276 */ NdrFcShort( 0x8 ), /* 8 */
/* 240 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ /* 278 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */
0x4, /* 4 */ 0x4, /* 4 */
/* 242 */ 0xa, /* 10 */ /* 280 */ 0xa, /* 10 */
0x5, /* Ext Flags: new corr desc, srv corr check, */ 0x5, /* Ext Flags: new corr desc, srv corr check, */
/* 244 */ NdrFcShort( 0x0 ), /* 0 */ /* 282 */ NdrFcShort( 0x0 ), /* 0 */
/* 246 */ NdrFcShort( 0x1 ), /* 1 */ /* 284 */ NdrFcShort( 0x1 ), /* 1 */
/* 248 */ NdrFcShort( 0x0 ), /* 0 */ /* 286 */ NdrFcShort( 0x0 ), /* 0 */
/* 250 */ NdrFcShort( 0x0 ), /* 0 */ /* 288 */ NdrFcShort( 0x0 ), /* 0 */
/* Parameter username */ /* Parameter username */
/* 252 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ /* 290 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
/* 254 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ /* 292 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
/* 256 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ /* 294 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
/* Parameter password */ /* Parameter password */
/* 258 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ /* 296 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
/* 260 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ /* 298 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
/* 262 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ /* 300 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
/* Parameter sid */ /* Parameter sid */
/* 264 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ /* 302 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
/* 266 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ /* 304 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
/* 268 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ /* 306 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
/* Return value */ /* Return value */
/* 270 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ /* 308 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
/* 272 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ /* 310 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
/* 274 */ 0x8, /* FC_LONG */ /* 312 */ 0x8, /* FC_LONG */
0x0, /* 0 */ 0x0, /* 0 */
/* Procedure ReportError */ /* Procedure ReportError */
/* 276 */ 0x33, /* FC_AUTO_HANDLE */ /* 314 */ 0x33, /* FC_AUTO_HANDLE */
0x6c, /* Old Flags: object, Oi2 */ 0x6c, /* Old Flags: object, Oi2 */
/* 278 */ NdrFcLong( 0x0 ), /* 0 */ /* 316 */ NdrFcLong( 0x0 ), /* 0 */
/* 282 */ NdrFcShort( 0x7 ), /* 7 */ /* 320 */ NdrFcShort( 0x7 ), /* 7 */
/* 284 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ /* 322 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
/* 286 */ NdrFcShort( 0x10 ), /* 16 */ /* 324 */ NdrFcShort( 0x10 ), /* 16 */
/* 288 */ NdrFcShort( 0x8 ), /* 8 */ /* 326 */ NdrFcShort( 0x8 ), /* 8 */
/* 290 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ /* 328 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */
0x4, /* 4 */ 0x4, /* 4 */
/* 292 */ 0xa, /* 10 */ /* 330 */ 0xa, /* 10 */
0x5, /* Ext Flags: new corr desc, srv corr check, */ 0x5, /* Ext Flags: new corr desc, srv corr check, */
/* 294 */ NdrFcShort( 0x0 ), /* 0 */ /* 332 */ NdrFcShort( 0x0 ), /* 0 */
/* 296 */ NdrFcShort( 0x1 ), /* 1 */ /* 334 */ NdrFcShort( 0x1 ), /* 1 */
/* 298 */ NdrFcShort( 0x0 ), /* 0 */ /* 336 */ NdrFcShort( 0x0 ), /* 0 */
/* 300 */ NdrFcShort( 0x0 ), /* 0 */ /* 338 */ NdrFcShort( 0x0 ), /* 0 */
/* Parameter status */ /* Parameter status */
/* 302 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ /* 340 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
/* 304 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ /* 342 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
/* 306 */ 0x8, /* FC_LONG */ /* 344 */ 0x8, /* FC_LONG */
0x0, /* 0 */ 0x0, /* 0 */
/* Parameter substatus */ /* Parameter substatus */
/* 308 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ /* 346 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
/* 310 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ /* 348 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
/* 312 */ 0x8, /* FC_LONG */ /* 350 */ 0x8, /* FC_LONG */
0x0, /* 0 */ 0x0, /* 0 */
/* Parameter status_text */ /* Parameter status_text */
/* 314 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ /* 352 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
/* 316 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ /* 354 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
/* 318 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ /* 356 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
/* Return value */ /* Return value */
/* 320 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ /* 358 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
/* 322 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ /* 360 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
/* 324 */ 0x8, /* FC_LONG */ /* 362 */ 0x8, /* FC_LONG */
0x0, /* 0 */ 0x0, /* 0 */
/* Procedure SetUserInfo */ /* Procedure SetUserInfo */
/* 326 */ 0x33, /* FC_AUTO_HANDLE */ /* 364 */ 0x33, /* FC_AUTO_HANDLE */
0x6c, /* Old Flags: object, Oi2 */ 0x6c, /* Old Flags: object, Oi2 */
/* 328 */ NdrFcLong( 0x0 ), /* 0 */ /* 366 */ NdrFcLong( 0x0 ), /* 0 */
/* 332 */ NdrFcShort( 0x3 ), /* 3 */ /* 370 */ NdrFcShort( 0x3 ), /* 3 */
/* 334 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ /* 372 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
/* 336 */ NdrFcShort( 0x0 ), /* 0 */ /* 374 */ NdrFcShort( 0x0 ), /* 0 */
/* 338 */ NdrFcShort( 0x8 ), /* 8 */ /* 376 */ NdrFcShort( 0x8 ), /* 8 */
/* 340 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ /* 378 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */
0x3, /* 3 */ 0x3, /* 3 */
/* 342 */ 0xa, /* 10 */ /* 380 */ 0xa, /* 10 */
0x5, /* Ext Flags: new corr desc, srv corr check, */ 0x5, /* Ext Flags: new corr desc, srv corr check, */
/* 344 */ NdrFcShort( 0x0 ), /* 0 */ /* 382 */ NdrFcShort( 0x0 ), /* 0 */
/* 346 */ NdrFcShort( 0x1 ), /* 1 */ /* 384 */ NdrFcShort( 0x1 ), /* 1 */
/* 348 */ NdrFcShort( 0x0 ), /* 0 */ /* 386 */ NdrFcShort( 0x0 ), /* 0 */
/* 350 */ NdrFcShort( 0x0 ), /* 0 */ /* 388 */ NdrFcShort( 0x0 ), /* 0 */
/* Parameter sid */ /* Parameter sid */
/* 352 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ /* 390 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
/* 354 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ /* 392 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
/* 356 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ /* 394 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
/* Parameter email */ /* Parameter email */
/* 358 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ /* 396 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
/* 360 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ /* 398 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
/* 362 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ /* 400 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
/* Return value */ /* Return value */
/* 364 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ /* 402 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
/* 366 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ /* 404 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
/* 368 */ 0x8, /* FC_LONG */ /* 406 */ 0x8, /* FC_LONG */
0x0, /* 0 */ 0x0, /* 0 */
0x0 0x0
...@@ -542,7 +580,8 @@ static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TA ...@@ -542,7 +580,8 @@ static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TA
#pragma code_seg(".orpc") #pragma code_seg(".orpc")
static const unsigned short IGaiaCredentialProvider_FormatStringOffsetTable[] = static const unsigned short IGaiaCredentialProvider_FormatStringOffsetTable[] =
{ {
0 0,
56
}; };
static const MIDL_STUBLESS_PROXY_INFO IGaiaCredentialProvider_ProxyInfo = static const MIDL_STUBLESS_PROXY_INFO IGaiaCredentialProvider_ProxyInfo =
...@@ -566,33 +605,39 @@ static const MIDL_SERVER_INFO IGaiaCredentialProvider_ServerInfo = ...@@ -566,33 +605,39 @@ static const MIDL_SERVER_INFO IGaiaCredentialProvider_ServerInfo =
0, 0,
0, 0,
0}; 0};
CINTERFACE_PROXY_VTABLE(4) _IGaiaCredentialProviderProxyVtbl = CINTERFACE_PROXY_VTABLE(5) _IGaiaCredentialProviderProxyVtbl =
{ {
&IGaiaCredentialProvider_ProxyInfo, &IGaiaCredentialProvider_ProxyInfo,
&IID_IGaiaCredentialProvider, &IID_IGaiaCredentialProvider,
IUnknown_QueryInterface_Proxy, IUnknown_QueryInterface_Proxy,
IUnknown_AddRef_Proxy, IUnknown_AddRef_Proxy,
IUnknown_Release_Proxy , IUnknown_Release_Proxy ,
(void *) (INT_PTR) -1 /* IGaiaCredentialProvider::OnUserAuthenticated */ (void *) (INT_PTR) -1 /* IGaiaCredentialProvider::OnUserAuthenticated */ ,
(void *) (INT_PTR) -1 /* IGaiaCredentialProvider::HasInternetConnection */
}; };
const CInterfaceStubVtbl _IGaiaCredentialProviderStubVtbl = const CInterfaceStubVtbl _IGaiaCredentialProviderStubVtbl =
{ {
&IID_IGaiaCredentialProvider, &IID_IGaiaCredentialProvider,
&IGaiaCredentialProvider_ServerInfo, &IGaiaCredentialProvider_ServerInfo,
4, 5,
0, /* pure interpreted */ 0, /* pure interpreted */
CStdStubBuffer_METHODS CStdStubBuffer_METHODS
}; };
/* Standard interface: __MIDL_itf_gaia_credential_provider_0000_0001, ver. 0.0,
GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */
/* Object interface: IGaiaCredentialProviderForTesting, ver. 0.0, /* Object interface: IGaiaCredentialProviderForTesting, ver. 0.0,
GUID={0x224CE2FB,0x2977,0x4585,{0xBD,0x46,0x1B,0xAE,0x8D,0x79,0x64,0xDE}} */ GUID={0x224CE2FB,0x2977,0x4585,{0xBD,0x46,0x1B,0xAE,0x8D,0x79,0x64,0xDE}} */
#pragma code_seg(".orpc") #pragma code_seg(".orpc")
static const unsigned short IGaiaCredentialProviderForTesting_FormatStringOffsetTable[] = static const unsigned short IGaiaCredentialProviderForTesting_FormatStringOffsetTable[] =
{ {
56 88,
126
}; };
static const MIDL_STUBLESS_PROXY_INFO IGaiaCredentialProviderForTesting_ProxyInfo = static const MIDL_STUBLESS_PROXY_INFO IGaiaCredentialProviderForTesting_ProxyInfo =
...@@ -616,21 +661,22 @@ static const MIDL_SERVER_INFO IGaiaCredentialProviderForTesting_ServerInfo = ...@@ -616,21 +661,22 @@ static const MIDL_SERVER_INFO IGaiaCredentialProviderForTesting_ServerInfo =
0, 0,
0, 0,
0}; 0};
CINTERFACE_PROXY_VTABLE(4) _IGaiaCredentialProviderForTestingProxyVtbl = CINTERFACE_PROXY_VTABLE(5) _IGaiaCredentialProviderForTestingProxyVtbl =
{ {
&IGaiaCredentialProviderForTesting_ProxyInfo, &IGaiaCredentialProviderForTesting_ProxyInfo,
&IID_IGaiaCredentialProviderForTesting, &IID_IGaiaCredentialProviderForTesting,
IUnknown_QueryInterface_Proxy, IUnknown_QueryInterface_Proxy,
IUnknown_AddRef_Proxy, IUnknown_AddRef_Proxy,
IUnknown_Release_Proxy , IUnknown_Release_Proxy ,
(void *) (INT_PTR) -1 /* IGaiaCredentialProviderForTesting::SetReauthCheckDoneEvent */ (void *) (INT_PTR) -1 /* IGaiaCredentialProviderForTesting::SetReauthCheckDoneEvent */ ,
(void *) (INT_PTR) -1 /* IGaiaCredentialProviderForTesting::SetHasInternetConnection */
}; };
const CInterfaceStubVtbl _IGaiaCredentialProviderForTestingStubVtbl = const CInterfaceStubVtbl _IGaiaCredentialProviderForTestingStubVtbl =
{ {
&IID_IGaiaCredentialProviderForTesting, &IID_IGaiaCredentialProviderForTesting,
&IGaiaCredentialProviderForTesting_ServerInfo, &IGaiaCredentialProviderForTesting_ServerInfo,
4, 5,
0, /* pure interpreted */ 0, /* pure interpreted */
CStdStubBuffer_METHODS CStdStubBuffer_METHODS
}; };
...@@ -642,11 +688,11 @@ const CInterfaceStubVtbl _IGaiaCredentialProviderForTestingStubVtbl = ...@@ -642,11 +688,11 @@ const CInterfaceStubVtbl _IGaiaCredentialProviderForTestingStubVtbl =
#pragma code_seg(".orpc") #pragma code_seg(".orpc")
static const unsigned short IGaiaCredential_FormatStringOffsetTable[] = static const unsigned short IGaiaCredential_FormatStringOffsetTable[] =
{ {
94,
132,
164, 164,
226, 56,
276 202,
264,
314
}; };
static const MIDL_STUBLESS_PROXY_INFO IGaiaCredential_ProxyInfo = static const MIDL_STUBLESS_PROXY_INFO IGaiaCredential_ProxyInfo =
...@@ -700,7 +746,7 @@ const CInterfaceStubVtbl _IGaiaCredentialStubVtbl = ...@@ -700,7 +746,7 @@ const CInterfaceStubVtbl _IGaiaCredentialStubVtbl =
#pragma code_seg(".orpc") #pragma code_seg(".orpc")
static const unsigned short IReauthCredential_FormatStringOffsetTable[] = static const unsigned short IReauthCredential_FormatStringOffsetTable[] =
{ {
326 364
}; };
static const MIDL_STUBLESS_PROXY_INFO IReauthCredential_ProxyInfo = static const MIDL_STUBLESS_PROXY_INFO IReauthCredential_ProxyInfo =
......
...@@ -82,7 +82,7 @@ MIDL_DEFINE_GUID(IID, IID_IReauthCredential,0xCC75BCEA,0xA636,0x4798,0xBF,0x8E,0 ...@@ -82,7 +82,7 @@ MIDL_DEFINE_GUID(IID, IID_IReauthCredential,0xCC75BCEA,0xA636,0x4798,0xBF,0x8E,0
MIDL_DEFINE_GUID(IID, LIBID_GaiaCredentialProviderLib,0x4ADC3A52,0x8673,0x4CE3,0x81,0xF6,0x83,0x3D,0x18,0xBE,0xEB,0xA2); MIDL_DEFINE_GUID(IID, LIBID_GaiaCredentialProviderLib,0x4ADC3A52,0x8673,0x4CE3,0x81,0xF6,0x83,0x3D,0x18,0xBE,0xEB,0xA2);
MIDL_DEFINE_GUID(CLSID, CLSID_GaiaCredentialProvider,0x89adae71,0xaee5,0x4ee2,0xbf,0xfb,0xe8,0x42,0x4e,0x06,0xf5,0x19); MIDL_DEFINE_GUID(CLSID, CLSID_GaiaCredentialProvider,0x0b5bfdf0,0x4594,0x47ac,0x94,0x0a,0xcf,0xc6,0x9a,0xbc,0x56,0x1c);
#undef MIDL_DEFINE_GUID #undef MIDL_DEFINE_GUID
......
...@@ -115,6 +115,8 @@ EXTERN_C const IID IID_IGaiaCredentialProvider; ...@@ -115,6 +115,8 @@ EXTERN_C const IID IID_IGaiaCredentialProvider;
/* [in] */ BSTR password, /* [in] */ BSTR password,
/* [in] */ BSTR sid) = 0; /* [in] */ BSTR sid) = 0;
virtual HRESULT STDMETHODCALLTYPE HasInternetConnection( void) = 0;
}; };
...@@ -143,6 +145,9 @@ EXTERN_C const IID IID_IGaiaCredentialProvider; ...@@ -143,6 +145,9 @@ EXTERN_C const IID IID_IGaiaCredentialProvider;
/* [in] */ BSTR password, /* [in] */ BSTR password,
/* [in] */ BSTR sid); /* [in] */ BSTR sid);
HRESULT ( STDMETHODCALLTYPE *HasInternetConnection )(
IGaiaCredentialProvider * This);
END_INTERFACE END_INTERFACE
} IGaiaCredentialProviderVtbl; } IGaiaCredentialProviderVtbl;
...@@ -169,6 +174,9 @@ EXTERN_C const IID IID_IGaiaCredentialProvider; ...@@ -169,6 +174,9 @@ EXTERN_C const IID IID_IGaiaCredentialProvider;
#define IGaiaCredentialProvider_OnUserAuthenticated(This,credential,username,password,sid) \ #define IGaiaCredentialProvider_OnUserAuthenticated(This,credential,username,password,sid) \
( (This)->lpVtbl -> OnUserAuthenticated(This,credential,username,password,sid) ) ( (This)->lpVtbl -> OnUserAuthenticated(This,credential,username,password,sid) )
#define IGaiaCredentialProvider_HasInternetConnection(This) \
( (This)->lpVtbl -> HasInternetConnection(This) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
...@@ -180,6 +188,22 @@ EXTERN_C const IID IID_IGaiaCredentialProvider; ...@@ -180,6 +188,22 @@ EXTERN_C const IID IID_IGaiaCredentialProvider;
#endif /* __IGaiaCredentialProvider_INTERFACE_DEFINED__ */ #endif /* __IGaiaCredentialProvider_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_gaia_credential_provider_0000_0001 */
/* [local] */
typedef /* [public][public] */
enum __MIDL___MIDL_itf_gaia_credential_provider_0000_0001_0001
{
kHicForceYes = 0,
kHicForceNo = ( kHicForceYes + 1 ) ,
kHicCheckAlways = ( kHicForceNo + 1 )
} HasInternetConnectionCheckType;
extern RPC_IF_HANDLE __MIDL_itf_gaia_credential_provider_0000_0001_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_gaia_credential_provider_0000_0001_v0_0_s_ifspec;
#ifndef __IGaiaCredentialProviderForTesting_INTERFACE_DEFINED__ #ifndef __IGaiaCredentialProviderForTesting_INTERFACE_DEFINED__
#define __IGaiaCredentialProviderForTesting_INTERFACE_DEFINED__ #define __IGaiaCredentialProviderForTesting_INTERFACE_DEFINED__
...@@ -198,6 +222,9 @@ EXTERN_C const IID IID_IGaiaCredentialProviderForTesting; ...@@ -198,6 +222,9 @@ EXTERN_C const IID IID_IGaiaCredentialProviderForTesting;
virtual HRESULT STDMETHODCALLTYPE SetReauthCheckDoneEvent( virtual HRESULT STDMETHODCALLTYPE SetReauthCheckDoneEvent(
/* [in] */ INT_PTR event) = 0; /* [in] */ INT_PTR event) = 0;
virtual HRESULT STDMETHODCALLTYPE SetHasInternetConnection(
/* [in] */ HasInternetConnectionCheckType hic) = 0;
}; };
...@@ -223,6 +250,10 @@ EXTERN_C const IID IID_IGaiaCredentialProviderForTesting; ...@@ -223,6 +250,10 @@ EXTERN_C const IID IID_IGaiaCredentialProviderForTesting;
IGaiaCredentialProviderForTesting * This, IGaiaCredentialProviderForTesting * This,
/* [in] */ INT_PTR event); /* [in] */ INT_PTR event);
HRESULT ( STDMETHODCALLTYPE *SetHasInternetConnection )(
IGaiaCredentialProviderForTesting * This,
/* [in] */ HasInternetConnectionCheckType hic);
END_INTERFACE END_INTERFACE
} IGaiaCredentialProviderForTestingVtbl; } IGaiaCredentialProviderForTestingVtbl;
...@@ -249,6 +280,9 @@ EXTERN_C const IID IID_IGaiaCredentialProviderForTesting; ...@@ -249,6 +280,9 @@ EXTERN_C const IID IID_IGaiaCredentialProviderForTesting;
#define IGaiaCredentialProviderForTesting_SetReauthCheckDoneEvent(This,event) \ #define IGaiaCredentialProviderForTesting_SetReauthCheckDoneEvent(This,event) \
( (This)->lpVtbl -> SetReauthCheckDoneEvent(This,event) ) ( (This)->lpVtbl -> SetReauthCheckDoneEvent(This,event) )
#define IGaiaCredentialProviderForTesting_SetHasInternetConnection(This,hic) \
( (This)->lpVtbl -> SetHasInternetConnection(This,hic) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
...@@ -490,7 +524,7 @@ EXTERN_C const CLSID CLSID_GaiaCredentialProvider; ...@@ -490,7 +524,7 @@ EXTERN_C const CLSID CLSID_GaiaCredentialProvider;
#ifdef __cplusplus #ifdef __cplusplus
class DECLSPEC_UUID("89adae71-aee5-4ee2-bffb-e8424e06f519") class DECLSPEC_UUID("0b5bfdf0-4594-47ac-940a-cfc69abc561c")
GaiaCredentialProvider; GaiaCredentialProvider;
#endif #endif
#endif /* __GaiaCredentialProviderLib_LIBRARY_DEFINED__ */ #endif /* __GaiaCredentialProviderLib_LIBRARY_DEFINED__ */
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
#include "gaia_credential_provider_i.h" #include "gaia_credential_provider_i.h"
#define TYPE_FORMAT_STRING_SIZE 93 #define TYPE_FORMAT_STRING_SIZE 93
#define PROC_FORMAT_STRING_SIZE 355 #define PROC_FORMAT_STRING_SIZE 391
#define EXPR_FORMAT_STRING_SIZE 1 #define EXPR_FORMAT_STRING_SIZE 1
#define TRANSMIT_AS_TABLE_SIZE 0 #define TRANSMIT_AS_TABLE_SIZE 0
#define WIRE_MARSHAL_TABLE_SIZE 1 #define WIRE_MARSHAL_TABLE_SIZE 1
...@@ -178,265 +178,302 @@ static const gaia_credential_provider_MIDL_PROC_FORMAT_STRING gaia_credential_pr ...@@ -178,265 +178,302 @@ static const gaia_credential_provider_MIDL_PROC_FORMAT_STRING gaia_credential_pr
/* 52 */ 0x8, /* FC_LONG */ /* 52 */ 0x8, /* FC_LONG */
0x0, /* 0 */ 0x0, /* 0 */
/* Procedure SetReauthCheckDoneEvent */ /* Procedure Terminate */
/* Procedure HasInternetConnection */
/* 54 */ 0x33, /* FC_AUTO_HANDLE */ /* 54 */ 0x33, /* FC_AUTO_HANDLE */
0x6c, /* Old Flags: object, Oi2 */ 0x6c, /* Old Flags: object, Oi2 */
/* 56 */ NdrFcLong( 0x0 ), /* 0 */ /* 56 */ NdrFcLong( 0x0 ), /* 0 */
/* 60 */ NdrFcShort( 0x3 ), /* 3 */ /* 60 */ NdrFcShort( 0x4 ), /* 4 */
/* 62 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 62 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
/* 64 */ NdrFcShort( 0x8 ), /* 8 */ /* 64 */ NdrFcShort( 0x0 ), /* 0 */
/* 66 */ NdrFcShort( 0x8 ), /* 8 */ /* 66 */ NdrFcShort( 0x8 ), /* 8 */
/* 68 */ 0x44, /* Oi2 Flags: has return, has ext, */ /* 68 */ 0x44, /* Oi2 Flags: has return, has ext, */
0x2, /* 2 */ 0x1, /* 1 */
/* 70 */ 0x8, /* 8 */ /* 70 */ 0x8, /* 8 */
0x1, /* Ext Flags: new corr desc, */ 0x1, /* Ext Flags: new corr desc, */
/* 72 */ NdrFcShort( 0x0 ), /* 0 */ /* 72 */ NdrFcShort( 0x0 ), /* 0 */
/* 74 */ NdrFcShort( 0x0 ), /* 0 */ /* 74 */ NdrFcShort( 0x0 ), /* 0 */
/* 76 */ NdrFcShort( 0x0 ), /* 0 */ /* 76 */ NdrFcShort( 0x0 ), /* 0 */
/* Parameter event */ /* Return value */
/* 78 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
/* 80 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
/* 82 */ 0x8, /* FC_LONG */
0x0, /* 0 */
/* Return value */ /* Return value */
/* 84 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ /* 78 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
/* 86 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ /* 80 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
/* 88 */ 0x8, /* FC_LONG */ /* 82 */ 0x8, /* FC_LONG */
0x0, /* 0 */ 0x0, /* 0 */
/* Procedure Initialize */ /* Procedure SetReauthCheckDoneEvent */
/* 90 */ 0x33, /* FC_AUTO_HANDLE */ /* 84 */ 0x33, /* FC_AUTO_HANDLE */
0x6c, /* Old Flags: object, Oi2 */ 0x6c, /* Old Flags: object, Oi2 */
/* 92 */ NdrFcLong( 0x0 ), /* 0 */ /* 86 */ NdrFcLong( 0x0 ), /* 0 */
/* 96 */ NdrFcShort( 0x3 ), /* 3 */ /* 90 */ NdrFcShort( 0x3 ), /* 3 */
/* 98 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 92 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
/* 100 */ NdrFcShort( 0x0 ), /* 0 */ /* 94 */ NdrFcShort( 0x8 ), /* 8 */
/* 102 */ NdrFcShort( 0x8 ), /* 8 */ /* 96 */ NdrFcShort( 0x8 ), /* 8 */
/* 104 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ /* 98 */ 0x44, /* Oi2 Flags: has return, has ext, */
0x2, /* 2 */ 0x2, /* 2 */
/* 106 */ 0x8, /* 8 */ /* 100 */ 0x8, /* 8 */
0x1, /* Ext Flags: new corr desc, */ 0x1, /* Ext Flags: new corr desc, */
/* 108 */ NdrFcShort( 0x0 ), /* 0 */ /* 102 */ NdrFcShort( 0x0 ), /* 0 */
/* 110 */ NdrFcShort( 0x0 ), /* 0 */ /* 104 */ NdrFcShort( 0x0 ), /* 0 */
/* 112 */ NdrFcShort( 0x0 ), /* 0 */ /* 106 */ NdrFcShort( 0x0 ), /* 0 */
/* Parameter provider */ /* Parameter event */
/* 114 */ NdrFcShort( 0xb ), /* Flags: must size, must free, in, */ /* 108 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
/* 116 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ /* 110 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
/* 118 */ NdrFcShort( 0x38 ), /* Type Offset=56 */ /* 112 */ 0x8, /* FC_LONG */
0x0, /* 0 */
/* Return value */ /* Return value */
/* 120 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ /* 114 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
/* 122 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ /* 116 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
/* 124 */ 0x8, /* FC_LONG */ /* 118 */ 0x8, /* FC_LONG */
0x0, /* 0 */ 0x0, /* 0 */
/* Procedure Terminate */ /* Procedure SetHasInternetConnection */
/* 126 */ 0x33, /* FC_AUTO_HANDLE */ /* 120 */ 0x33, /* FC_AUTO_HANDLE */
0x6c, /* Old Flags: object, Oi2 */ 0x6c, /* Old Flags: object, Oi2 */
/* 128 */ NdrFcLong( 0x0 ), /* 0 */ /* 122 */ NdrFcLong( 0x0 ), /* 0 */
/* 132 */ NdrFcShort( 0x4 ), /* 4 */ /* 126 */ NdrFcShort( 0x4 ), /* 4 */
/* 134 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ /* 128 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
/* 136 */ NdrFcShort( 0x0 ), /* 0 */ /* 130 */ NdrFcShort( 0x6 ), /* 6 */
/* 138 */ NdrFcShort( 0x8 ), /* 8 */ /* 132 */ NdrFcShort( 0x8 ), /* 8 */
/* 140 */ 0x44, /* Oi2 Flags: has return, has ext, */ /* 134 */ 0x44, /* Oi2 Flags: has return, has ext, */
0x1, /* 1 */ 0x2, /* 2 */
/* 142 */ 0x8, /* 8 */ /* 136 */ 0x8, /* 8 */
0x1, /* Ext Flags: new corr desc, */ 0x1, /* Ext Flags: new corr desc, */
/* 144 */ NdrFcShort( 0x0 ), /* 0 */ /* 138 */ NdrFcShort( 0x0 ), /* 0 */
/* 146 */ NdrFcShort( 0x0 ), /* 0 */ /* 140 */ NdrFcShort( 0x0 ), /* 0 */
/* 148 */ NdrFcShort( 0x0 ), /* 0 */ /* 142 */ NdrFcShort( 0x0 ), /* 0 */
/* Parameter hic */
/* 144 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
/* 146 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
/* 148 */ 0xd, /* FC_ENUM16 */
0x0, /* 0 */
/* Return value */ /* Return value */
/* 150 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ /* 150 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
/* 152 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ /* 152 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
/* 154 */ 0x8, /* FC_LONG */ /* 154 */ 0x8, /* FC_LONG */
0x0, /* 0 */ 0x0, /* 0 */
/* Procedure FinishAuthentication */ /* Procedure Initialize */
/* 156 */ 0x33, /* FC_AUTO_HANDLE */ /* 156 */ 0x33, /* FC_AUTO_HANDLE */
0x6c, /* Old Flags: object, Oi2 */ 0x6c, /* Old Flags: object, Oi2 */
/* 158 */ NdrFcLong( 0x0 ), /* 0 */ /* 158 */ NdrFcLong( 0x0 ), /* 0 */
/* 162 */ NdrFcShort( 0x5 ), /* 5 */ /* 162 */ NdrFcShort( 0x3 ), /* 3 */
/* 164 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */ /* 164 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
/* 166 */ NdrFcShort( 0x0 ), /* 0 */ /* 166 */ NdrFcShort( 0x0 ), /* 0 */
/* 168 */ NdrFcShort( 0x8 ), /* 8 */ /* 168 */ NdrFcShort( 0x8 ), /* 8 */
/* 170 */ 0x47, /* Oi2 Flags: srv must size, clt must size, has return, has ext, */ /* 170 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */
0x6, /* 6 */ 0x2, /* 2 */
/* 172 */ 0x8, /* 8 */ /* 172 */ 0x8, /* 8 */
0x7, /* Ext Flags: new corr desc, clt corr check, srv corr check, */ 0x1, /* Ext Flags: new corr desc, */
/* 174 */ NdrFcShort( 0x1 ), /* 1 */ /* 174 */ NdrFcShort( 0x0 ), /* 0 */
/* 176 */ NdrFcShort( 0x1 ), /* 1 */ /* 176 */ NdrFcShort( 0x0 ), /* 0 */
/* 178 */ NdrFcShort( 0x0 ), /* 0 */ /* 178 */ NdrFcShort( 0x0 ), /* 0 */
/* Parameter username */ /* Parameter provider */
/* 180 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ /* 180 */ NdrFcShort( 0xb ), /* Flags: must size, must free, in, */
/* 182 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ /* 182 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
/* 184 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ /* 184 */ NdrFcShort( 0x38 ), /* Type Offset=56 */
/* Parameter password */ /* Return value */
/* 186 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ /* 186 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
/* 188 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ /* 188 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
/* 190 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ /* 190 */ 0x8, /* FC_LONG */
0x0, /* 0 */
/* Procedure FinishAuthentication */
/* 192 */ 0x33, /* FC_AUTO_HANDLE */
0x6c, /* Old Flags: object, Oi2 */
/* 194 */ NdrFcLong( 0x0 ), /* 0 */
/* 198 */ NdrFcShort( 0x5 ), /* 5 */
/* 200 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */
/* 202 */ NdrFcShort( 0x0 ), /* 0 */
/* 204 */ NdrFcShort( 0x8 ), /* 8 */
/* 206 */ 0x47, /* Oi2 Flags: srv must size, clt must size, has return, has ext, */
0x6, /* 6 */
/* 208 */ 0x8, /* 8 */
0x7, /* Ext Flags: new corr desc, clt corr check, srv corr check, */
/* 210 */ NdrFcShort( 0x1 ), /* 1 */
/* 212 */ NdrFcShort( 0x1 ), /* 1 */
/* 214 */ NdrFcShort( 0x0 ), /* 0 */
/* Parameter username */
/* 216 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
/* 218 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
/* 220 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
/* Parameter password */
/* 222 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
/* 224 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
/* 226 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
/* Parameter fullname */ /* Parameter fullname */
/* 192 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ /* 228 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
/* 194 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 230 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
/* 196 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ /* 232 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
/* Parameter sid */ /* Parameter sid */
/* 198 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ /* 234 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
/* 200 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ /* 236 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
/* 202 */ NdrFcShort( 0x52 ), /* Type Offset=82 */ /* 238 */ NdrFcShort( 0x52 ), /* Type Offset=82 */
/* Parameter error_text */ /* Parameter error_text */
/* 204 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ /* 240 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
/* 206 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ /* 242 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
/* 208 */ NdrFcShort( 0x52 ), /* Type Offset=82 */ /* 244 */ NdrFcShort( 0x52 ), /* Type Offset=82 */
/* Return value */ /* Return value */
/* 210 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ /* 246 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
/* 212 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ /* 248 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */
/* 214 */ 0x8, /* FC_LONG */ /* 250 */ 0x8, /* FC_LONG */
0x0, /* 0 */ 0x0, /* 0 */
/* Procedure OnUserAuthenticated */ /* Procedure OnUserAuthenticated */
/* 216 */ 0x33, /* FC_AUTO_HANDLE */ /* 252 */ 0x33, /* FC_AUTO_HANDLE */
0x6c, /* Old Flags: object, Oi2 */ 0x6c, /* Old Flags: object, Oi2 */
/* 218 */ NdrFcLong( 0x0 ), /* 0 */ /* 254 */ NdrFcLong( 0x0 ), /* 0 */
/* 222 */ NdrFcShort( 0x6 ), /* 6 */ /* 258 */ NdrFcShort( 0x6 ), /* 6 */
/* 224 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ /* 260 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
/* 226 */ NdrFcShort( 0x0 ), /* 0 */ /* 262 */ NdrFcShort( 0x0 ), /* 0 */
/* 228 */ NdrFcShort( 0x8 ), /* 8 */ /* 264 */ NdrFcShort( 0x8 ), /* 8 */
/* 230 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ /* 266 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */
0x4, /* 4 */ 0x4, /* 4 */
/* 232 */ 0x8, /* 8 */ /* 268 */ 0x8, /* 8 */
0x5, /* Ext Flags: new corr desc, srv corr check, */ 0x5, /* Ext Flags: new corr desc, srv corr check, */
/* 234 */ NdrFcShort( 0x0 ), /* 0 */ /* 270 */ NdrFcShort( 0x0 ), /* 0 */
/* 236 */ NdrFcShort( 0x1 ), /* 1 */ /* 272 */ NdrFcShort( 0x1 ), /* 1 */
/* 238 */ NdrFcShort( 0x0 ), /* 0 */ /* 274 */ NdrFcShort( 0x0 ), /* 0 */
/* Parameter username */ /* Parameter username */
/* 240 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ /* 276 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
/* 242 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ /* 278 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
/* 244 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ /* 280 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
/* Parameter password */ /* Parameter password */
/* 246 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ /* 282 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
/* 248 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ /* 284 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
/* 250 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ /* 286 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
/* Parameter sid */ /* Parameter sid */
/* 252 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ /* 288 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
/* 254 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 290 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
/* 256 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ /* 292 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
/* Return value */ /* Return value */
/* 258 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ /* 294 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
/* 260 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ /* 296 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
/* 262 */ 0x8, /* FC_LONG */ /* 298 */ 0x8, /* FC_LONG */
0x0, /* 0 */ 0x0, /* 0 */
/* Procedure ReportError */ /* Procedure ReportError */
/* 264 */ 0x33, /* FC_AUTO_HANDLE */ /* 300 */ 0x33, /* FC_AUTO_HANDLE */
0x6c, /* Old Flags: object, Oi2 */ 0x6c, /* Old Flags: object, Oi2 */
/* 266 */ NdrFcLong( 0x0 ), /* 0 */ /* 302 */ NdrFcLong( 0x0 ), /* 0 */
/* 270 */ NdrFcShort( 0x7 ), /* 7 */ /* 306 */ NdrFcShort( 0x7 ), /* 7 */
/* 272 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ /* 308 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
/* 274 */ NdrFcShort( 0x10 ), /* 16 */ /* 310 */ NdrFcShort( 0x10 ), /* 16 */
/* 276 */ NdrFcShort( 0x8 ), /* 8 */ /* 312 */ NdrFcShort( 0x8 ), /* 8 */
/* 278 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ /* 314 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */
0x4, /* 4 */ 0x4, /* 4 */
/* 280 */ 0x8, /* 8 */ /* 316 */ 0x8, /* 8 */
0x5, /* Ext Flags: new corr desc, srv corr check, */ 0x5, /* Ext Flags: new corr desc, srv corr check, */
/* 282 */ NdrFcShort( 0x0 ), /* 0 */ /* 318 */ NdrFcShort( 0x0 ), /* 0 */
/* 284 */ NdrFcShort( 0x1 ), /* 1 */ /* 320 */ NdrFcShort( 0x1 ), /* 1 */
/* 286 */ NdrFcShort( 0x0 ), /* 0 */ /* 322 */ NdrFcShort( 0x0 ), /* 0 */
/* Parameter status */ /* Parameter status */
/* 288 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ /* 324 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
/* 290 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ /* 326 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
/* 292 */ 0x8, /* FC_LONG */ /* 328 */ 0x8, /* FC_LONG */
0x0, /* 0 */ 0x0, /* 0 */
/* Parameter substatus */ /* Parameter substatus */
/* 294 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ /* 330 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
/* 296 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ /* 332 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
/* 298 */ 0x8, /* FC_LONG */ /* 334 */ 0x8, /* FC_LONG */
0x0, /* 0 */ 0x0, /* 0 */
/* Parameter status_text */ /* Parameter status_text */
/* 300 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ /* 336 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
/* 302 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 338 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
/* 304 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ /* 340 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
/* Return value */ /* Return value */
/* 306 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ /* 342 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
/* 308 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ /* 344 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
/* 310 */ 0x8, /* FC_LONG */ /* 346 */ 0x8, /* FC_LONG */
0x0, /* 0 */ 0x0, /* 0 */
/* Procedure SetUserInfo */ /* Procedure SetUserInfo */
/* 312 */ 0x33, /* FC_AUTO_HANDLE */ /* 348 */ 0x33, /* FC_AUTO_HANDLE */
0x6c, /* Old Flags: object, Oi2 */ 0x6c, /* Old Flags: object, Oi2 */
/* 314 */ NdrFcLong( 0x0 ), /* 0 */ /* 350 */ NdrFcLong( 0x0 ), /* 0 */
/* 318 */ NdrFcShort( 0x3 ), /* 3 */ /* 354 */ NdrFcShort( 0x3 ), /* 3 */
/* 320 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ /* 356 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
/* 322 */ NdrFcShort( 0x0 ), /* 0 */ /* 358 */ NdrFcShort( 0x0 ), /* 0 */
/* 324 */ NdrFcShort( 0x8 ), /* 8 */ /* 360 */ NdrFcShort( 0x8 ), /* 8 */
/* 326 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ /* 362 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */
0x3, /* 3 */ 0x3, /* 3 */
/* 328 */ 0x8, /* 8 */ /* 364 */ 0x8, /* 8 */
0x5, /* Ext Flags: new corr desc, srv corr check, */ 0x5, /* Ext Flags: new corr desc, srv corr check, */
/* 330 */ NdrFcShort( 0x0 ), /* 0 */ /* 366 */ NdrFcShort( 0x0 ), /* 0 */
/* 332 */ NdrFcShort( 0x1 ), /* 1 */ /* 368 */ NdrFcShort( 0x1 ), /* 1 */
/* 334 */ NdrFcShort( 0x0 ), /* 0 */ /* 370 */ NdrFcShort( 0x0 ), /* 0 */
/* Parameter sid */ /* Parameter sid */
/* 336 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ /* 372 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
/* 338 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ /* 374 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
/* 340 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ /* 376 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
/* Parameter email */ /* Parameter email */
/* 342 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ /* 378 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
/* 344 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ /* 380 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
/* 346 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ /* 382 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
/* Return value */ /* Return value */
/* 348 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ /* 384 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
/* 350 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 386 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
/* 352 */ 0x8, /* FC_LONG */ /* 388 */ 0x8, /* FC_LONG */
0x0, /* 0 */ 0x0, /* 0 */
0x0 0x0
...@@ -545,7 +582,8 @@ static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TA ...@@ -545,7 +582,8 @@ static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TA
#pragma code_seg(".orpc") #pragma code_seg(".orpc")
static const unsigned short IGaiaCredentialProvider_FormatStringOffsetTable[] = static const unsigned short IGaiaCredentialProvider_FormatStringOffsetTable[] =
{ {
0 0,
54
}; };
static const MIDL_STUBLESS_PROXY_INFO IGaiaCredentialProvider_ProxyInfo = static const MIDL_STUBLESS_PROXY_INFO IGaiaCredentialProvider_ProxyInfo =
...@@ -569,33 +607,39 @@ static const MIDL_SERVER_INFO IGaiaCredentialProvider_ServerInfo = ...@@ -569,33 +607,39 @@ static const MIDL_SERVER_INFO IGaiaCredentialProvider_ServerInfo =
0, 0,
0, 0,
0}; 0};
CINTERFACE_PROXY_VTABLE(4) _IGaiaCredentialProviderProxyVtbl = CINTERFACE_PROXY_VTABLE(5) _IGaiaCredentialProviderProxyVtbl =
{ {
&IGaiaCredentialProvider_ProxyInfo, &IGaiaCredentialProvider_ProxyInfo,
&IID_IGaiaCredentialProvider, &IID_IGaiaCredentialProvider,
IUnknown_QueryInterface_Proxy, IUnknown_QueryInterface_Proxy,
IUnknown_AddRef_Proxy, IUnknown_AddRef_Proxy,
IUnknown_Release_Proxy , IUnknown_Release_Proxy ,
(void *) (INT_PTR) -1 /* IGaiaCredentialProvider::OnUserAuthenticated */ (void *) (INT_PTR) -1 /* IGaiaCredentialProvider::OnUserAuthenticated */ ,
(void *) (INT_PTR) -1 /* IGaiaCredentialProvider::HasInternetConnection */
}; };
const CInterfaceStubVtbl _IGaiaCredentialProviderStubVtbl = const CInterfaceStubVtbl _IGaiaCredentialProviderStubVtbl =
{ {
&IID_IGaiaCredentialProvider, &IID_IGaiaCredentialProvider,
&IGaiaCredentialProvider_ServerInfo, &IGaiaCredentialProvider_ServerInfo,
4, 5,
0, /* pure interpreted */ 0, /* pure interpreted */
CStdStubBuffer_METHODS CStdStubBuffer_METHODS
}; };
/* Standard interface: __MIDL_itf_gaia_credential_provider_0000_0001, ver. 0.0,
GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */
/* Object interface: IGaiaCredentialProviderForTesting, ver. 0.0, /* Object interface: IGaiaCredentialProviderForTesting, ver. 0.0,
GUID={0x224CE2FB,0x2977,0x4585,{0xBD,0x46,0x1B,0xAE,0x8D,0x79,0x64,0xDE}} */ GUID={0x224CE2FB,0x2977,0x4585,{0xBD,0x46,0x1B,0xAE,0x8D,0x79,0x64,0xDE}} */
#pragma code_seg(".orpc") #pragma code_seg(".orpc")
static const unsigned short IGaiaCredentialProviderForTesting_FormatStringOffsetTable[] = static const unsigned short IGaiaCredentialProviderForTesting_FormatStringOffsetTable[] =
{ {
54 84,
120
}; };
static const MIDL_STUBLESS_PROXY_INFO IGaiaCredentialProviderForTesting_ProxyInfo = static const MIDL_STUBLESS_PROXY_INFO IGaiaCredentialProviderForTesting_ProxyInfo =
...@@ -619,21 +663,22 @@ static const MIDL_SERVER_INFO IGaiaCredentialProviderForTesting_ServerInfo = ...@@ -619,21 +663,22 @@ static const MIDL_SERVER_INFO IGaiaCredentialProviderForTesting_ServerInfo =
0, 0,
0, 0,
0}; 0};
CINTERFACE_PROXY_VTABLE(4) _IGaiaCredentialProviderForTestingProxyVtbl = CINTERFACE_PROXY_VTABLE(5) _IGaiaCredentialProviderForTestingProxyVtbl =
{ {
&IGaiaCredentialProviderForTesting_ProxyInfo, &IGaiaCredentialProviderForTesting_ProxyInfo,
&IID_IGaiaCredentialProviderForTesting, &IID_IGaiaCredentialProviderForTesting,
IUnknown_QueryInterface_Proxy, IUnknown_QueryInterface_Proxy,
IUnknown_AddRef_Proxy, IUnknown_AddRef_Proxy,
IUnknown_Release_Proxy , IUnknown_Release_Proxy ,
(void *) (INT_PTR) -1 /* IGaiaCredentialProviderForTesting::SetReauthCheckDoneEvent */ (void *) (INT_PTR) -1 /* IGaiaCredentialProviderForTesting::SetReauthCheckDoneEvent */ ,
(void *) (INT_PTR) -1 /* IGaiaCredentialProviderForTesting::SetHasInternetConnection */
}; };
const CInterfaceStubVtbl _IGaiaCredentialProviderForTestingStubVtbl = const CInterfaceStubVtbl _IGaiaCredentialProviderForTestingStubVtbl =
{ {
&IID_IGaiaCredentialProviderForTesting, &IID_IGaiaCredentialProviderForTesting,
&IGaiaCredentialProviderForTesting_ServerInfo, &IGaiaCredentialProviderForTesting_ServerInfo,
4, 5,
0, /* pure interpreted */ 0, /* pure interpreted */
CStdStubBuffer_METHODS CStdStubBuffer_METHODS
}; };
...@@ -645,11 +690,11 @@ const CInterfaceStubVtbl _IGaiaCredentialProviderForTestingStubVtbl = ...@@ -645,11 +690,11 @@ const CInterfaceStubVtbl _IGaiaCredentialProviderForTestingStubVtbl =
#pragma code_seg(".orpc") #pragma code_seg(".orpc")
static const unsigned short IGaiaCredential_FormatStringOffsetTable[] = static const unsigned short IGaiaCredential_FormatStringOffsetTable[] =
{ {
90,
126,
156, 156,
216, 54,
264 192,
252,
300
}; };
static const MIDL_STUBLESS_PROXY_INFO IGaiaCredential_ProxyInfo = static const MIDL_STUBLESS_PROXY_INFO IGaiaCredential_ProxyInfo =
...@@ -703,7 +748,7 @@ const CInterfaceStubVtbl _IGaiaCredentialStubVtbl = ...@@ -703,7 +748,7 @@ const CInterfaceStubVtbl _IGaiaCredentialStubVtbl =
#pragma code_seg(".orpc") #pragma code_seg(".orpc")
static const unsigned short IReauthCredential_FormatStringOffsetTable[] = static const unsigned short IReauthCredential_FormatStringOffsetTable[] =
{ {
312 348
}; };
static const MIDL_STUBLESS_PROXY_INFO IReauthCredential_ProxyInfo = static const MIDL_STUBLESS_PROXY_INFO IReauthCredential_ProxyInfo =
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment