// This example shows how to obtain all access paths available for an item.
//
// Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html .
using System;
using OpcLabs.EasyOpc.DataAccess;
using OpcLabs.EasyOpc.OperationModel;
namespace DocExamples.DataAccess._EasyDAClient
{
    class BrowseAccessPaths
    {
        public static void Main1()
        {
            // Instantiate the client object.
            var client = new EasyDAClient();
            string[] accessPaths;
            try
            {
                accessPaths = client.BrowseAccessPaths("OPCLabs.KitServer.2", "Simulation.Random");
            }
            catch (OpcException opcException)
            {
                Console.WriteLine("*** Failure: {0}", opcException.GetBaseException().Message);
                return;
            }
            for (int i = 0; i < accessPaths.Length; i++)
                Console.WriteLine($"accessPaths({i}): {accessPaths[i]}");
        }
        // Example output:
        //
        //accessPaths(0): Self
        //accessPaths(1): Other
    }
}
	 
	
		# This example shows how to obtain all access paths available for an item.
#
# Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html .
# OPC client and subscriber examples in Python on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-Python .
# The QuickOPC package is needed. Install it using "pip install opclabs_quickopc".
import opclabs_quickopc
# Import .NET namespaces.
from OpcLabs.EasyOpc.DataAccess import *
from OpcLabs.EasyOpc.OperationModel import *
# Instantiate the client object.
client = EasyDAClient()
# Perform the operation
try:
    accessPaths = IEasyDAClientExtension.BrowseAccessPaths(client, '', 'OPCLabs.KitServer.2', 'Simulation.Random')
except OpcException as opcException:
    print('*** Failure: ' + opcException.GetBaseException().Message)
    exit()
# Display results
for (i, accessPath) in enumerate(accessPaths):
    print('accessPaths[', i, ']: ', accessPath, sep='')
	 
	
		' This example shows how to obtain all access paths available for an item.
'
' Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html .
Imports OpcLabs.EasyOpc.DataAccess
Imports OpcLabs.EasyOpc.OperationModel
Namespace DataAccess._EasyDAClient
    Partial Friend Class BrowseAccessPaths
        Shared Sub Main1()
            Dim client = New EasyDAClient()
            Dim accessPaths() As String
            Try
                accessPaths = client.BrowseAccessPaths("OPCLabs.KitServer.2", "Simulation.Random")
            Catch opcException As OpcException
                Console.WriteLine("*** Failure: {0}", opcException.GetBaseException().Message)
                Exit Sub
            End Try
            For i = 0 To accessPaths.Length - 1
                Console.WriteLine($"accessPaths({i}): {accessPaths(i)}")
            Next i
        End Sub
        ' Example output
        '
        'accessPaths(0): Self
        'accessPaths(1): Other
    End Class
End Namespace