79 lines
		
	
	
	
		
			3.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
	
		
			3.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
// © Rafael Rivera
 | 
						|
// License: MIT
 | 
						|
 | 
						|
import "oaidl.idl";
 | 
						|
 | 
						|
[uuid(e0b5ef8b-a9b4-497a-8f71-08dd5c8ab2bf)]
 | 
						|
library QuietHours
 | 
						|
{
 | 
						|
	[uuid(f53321fa-34f8-4b7f-b9a3-361877cb94cf)]
 | 
						|
	coclass QuietHoursSettings
 | 
						|
	{
 | 
						|
		[default] interface IQuietHoursSettings;
 | 
						|
	}
 | 
						|
 | 
						|
	[uuid(af86e2e0-b12d-4c6a-9c5a-d7aa65101e90)]
 | 
						|
	interface IQuietMoment : IUnknown
 | 
						|
	{
 | 
						|
		// Incomplete
 | 
						|
	}
 | 
						|
 | 
						|
	[uuid(e813fe81-62b6-417d-b951-9d2e08486ac1)]
 | 
						|
	interface IQuietHoursProfile : IUnknown
 | 
						|
	{
 | 
						|
		[propget] HRESULT DisplayName([out, string, retval] LPWSTR* displayName);
 | 
						|
		[propget] HRESULT ProfileId([out, string, retval] LPWSTR* profileId);
 | 
						|
		HRESULT GetSetting(int setting, [out, retval] int* value);
 | 
						|
		HRESULT PutSetting(int setting, int value);
 | 
						|
		[propget] HRESULT IsCustomizable([out, retval] BOOL* result);
 | 
						|
		HRESULT GetAllowedContacts([out] UINT32* count, [out, retval] LPWSTR* allowedContacts);
 | 
						|
		HRESULT AddAllowedContact([in, string] LPWSTR allowedContact);
 | 
						|
		HRESULT RemoveAllowedContact([in, string] LPWSTR allowedContact);
 | 
						|
		HRESULT GetAllowedApps([out] UINT32* count, [out, retval] LPWSTR** allowedApps);
 | 
						|
		HRESULT AddAllowedApp([in, string] LPWSTR allowedApp);
 | 
						|
		HRESULT RemoveAllowedApp([in, string] LPWSTR allowedApp);
 | 
						|
		[propget] HRESULT Description([out, string, retval] LPWSTR* description);
 | 
						|
		[propget] HRESULT CustomizeLinkText([out, string, retval] LPWSTR* linkText);
 | 
						|
		[propget] HRESULT RestrictiveLevel([out, string, retval] LPWSTR* restrictiveLevel);
 | 
						|
	}
 | 
						|
 | 
						|
	[uuid(cd86a976-8ea9-404b-a197-42e73dbaa901)]
 | 
						|
	interface IQuietHoursPinnedContactManager : IUnknown
 | 
						|
	{
 | 
						|
		HRESULT GetPinnedContactList([out] UINT32* count, [out, string, retval] LPWSTR* pinnedContacts);
 | 
						|
	}
 | 
						|
 | 
						|
	[uuid(b0217783-87b7-422c-b902-5c148c14f150)]
 | 
						|
	interface IQuietMomentsManager : IUnknown
 | 
						|
	{
 | 
						|
		HRESULT GetAllQuietMomentModes([out] UINT32* count, [out, retval] UINT32** quietMomentModes);
 | 
						|
		HRESULT GetQuietMoment([in] UINT32 quietMomentId, [out, retval] IQuietMoment** quietMoment);
 | 
						|
		HRESULT TurnOffCurrentlyActiveQuietMoment();
 | 
						|
		HRESULT GetActiveQuietMoment([out, retval] UINT32* quietMomentId);
 | 
						|
	}
 | 
						|
 | 
						|
	typedef struct _QH_PROFILE_DATA
 | 
						|
	{
 | 
						|
		char do_not_use__incomplete; // Incomplete
 | 
						|
	} QH_PROFILE_DATA;
 | 
						|
 | 
						|
	[uuid(6bff4732-81ec-4ffb-ae67-b6c1bc29631f)]
 | 
						|
	interface IQuietHoursSettings : IUnknown
 | 
						|
	{
 | 
						|
		[propget] HRESULT UserSelectedProfile([out, string, retval] LPWSTR* profileId);
 | 
						|
		[propput] HRESULT UserSelectedProfile([in] LPWSTR profileId);
 | 
						|
		HRESULT GetProfile([in, string] LPWSTR profileId, [out, retval] IQuietHoursProfile**);
 | 
						|
		HRESULT GetAllProfileData(UINT32* count, QH_PROFILE_DATA*);
 | 
						|
		HRESULT GetDisplayNameForProfile([in, string] LPWSTR profileId, [out, string, retval] LPWSTR* displayName);
 | 
						|
		[propget] HRESULT QuietMomentsManager([out, retval] IQuietMomentsManager**);
 | 
						|
		[propget] HRESULT OffProfileId([out, string, retval] LPWSTR* profileId);
 | 
						|
		[propget] HRESULT ActiveQuietMomentProfile([out, string, retval] LPWSTR* profileId);
 | 
						|
		[propput] HRESULT ActiveQuietMomentProfile([in] LPWSTR profileId);
 | 
						|
		[propget] HRESULT ActiveProfile([out, string, retval] LPWSTR* profileId);
 | 
						|
		[propget] HRESULT QuietHoursPinnedContactManager([out, retval] IQuietHoursPinnedContactManager**);
 | 
						|
		[propput] HRESULT QuietMomentsShowSummaryEnabled([out, retval] BOOL* isEnabled);
 | 
						|
		HRESULT GetAlwaysAllowedApps([out] UINT32* count, [out, string, retval] LPWSTR** allowedApps);
 | 
						|
		HRESULT StartProcessing();
 | 
						|
		HRESULT StopProcessing();
 | 
						|
	}
 | 
						|
}
 |