Opalis Quick Integration Kit 3.0
PublishRange a collection of Opalis Data objects as correlated data sets.

Namespace:  Opalis.QuickIntegrationKit
Assembly:  Opalis.QuickIntegrationKit(in Opalis.QuickIntegrationKit.dll) Version: 3.0.0.0 (3.1.0.1)

Syntax

C#
int 
PublishRange(
	
IEnumerable 
values
)
Visual Basic (Declaration)
Function 
PublishRange ( _
	
values 
As 
IEnumerable _
) 
As 
Integer
Visual C++
int 
PublishRange(
	
IEnumerable ^ 
values
)

Parameters

values
Type: System.Collections . . :: . IEnumerable

Return Value

The number of OpalisDataAttributeobjects that were published.

Remarks

Assumes that the type of the value being published is marked with the OpalisData attribute.

Examples

CopyC#
[OpalisData]
public 
class ServiceInfo
{

private 
readonly ManagementObject
service;


internal
ServiceInfo(ManagementObject service)
	{
	
this.service = service;
}

	[OpalisOutput, OpalisFilter]

public 
object Name { get { 
return service[
"Name"]; } }

	[OpalisOutput, OpalisFilter(Options=
"Starting, Running, Stopping,
Stopped")]

public 
object Status { get { 
return service[
"Status"]; } }

	[OpalisOutput(
"Display Name"),
OpalisFilter]

public 
object DisplayName{ get { 
return service[
"DisplayName"]; } }
}

[OpalisObject(
"Get Service Info")]
public 
class GetServices :
IOpalisObject
{

public 
void Design(IOpalisDesigner
designer)
	{
		designer.AddCorellatedData(
typeof(ServiceInfo));
}


public 
void Execute(IOpalisRequest
request, IOpalisResponse response)
	{
		response.WithFiltering().PublishRange(GetServices());
}


private IEnumerable
GetServices()
	{
		SelectQuery query = 
new SelectQuery(
"Win32_Service");
		ManagementObjectSearcher searcher = 
new
ManagementObjectSearcher(query);
	
foreach (ManagementObject
service 
in searcher.Get())
		{
			yield 
return 
new ServiceInfo(service);
	}
}
}

See Also