note
	description: "Control interfaces. Help file: "
	legal: "See notice at end of class."
	status: "See notice at end of class."
	generator: "Automatically generated by the EiffelCOM Wizard."

deferred class
	ISERVICE_PROVIDER_INTERFACE

inherit
	ECOM_INTERFACE

feature -- Status Report

	query_service_user_precondition (guid_service: ECOM_GUID; riid: ECOM_GUID; ppv_object: CELL [ECOM_INTERFACE]): BOOLEAN
			-- User-defined preconditions for `query_service'.
			-- Redefine in descendants if needed.
		do
			Result := True
		end

feature -- Basic Operations

	query_service (guid_service: ECOM_GUID; riid: ECOM_GUID; ppv_object: CELL [ECOM_INTERFACE])
			-- No description available.
			-- `guid_service' [in].  
			-- `riid' [in].  
			-- `ppv_object' [out].  
		require
			non_void_guid_service: guid_service /= Void
			valid_guid_service: guid_service.item /= default_pointer
			non_void_riid: riid /= Void
			valid_riid: riid.item /= default_pointer
			non_void_ppv_object: ppv_object /= Void
			query_service_user_precondition: query_service_user_precondition (guid_service, riid, ppv_object)
		deferred

		ensure
			valid_ppv_object: ppv_object.item /= Void
		end

note
	copyright:	"Copyright (c) 1984-2006, Eiffel Software and others"
	license:	"Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
	source: "[
			 Eiffel Software
			 356 Storke Road, Goleta, CA 93117 USA
			 Telephone 805-685-1006, Fax 805-685-6869
			 Website http://www.eiffel.com
			 Customer support http://support.eiffel.com
		]"




end -- ISERVICE_PROVIDER_INTERFACE