| IQMSGetCALConfiguration Method |
Namespace: PIX.Services.V12
| Exception | Condition |
|---|---|
| Exception | Thrown if there were any problems retrieving the CAL configuration. |
Requires membership of local groups QlikView Management API and QlikView Administrator. |
The service key injection is assumed to be handled behind the scenes. For an example of how to inject the service key, see Samples.
using System; using System.Collections.Generic; using System.Linq; using QMSAPI; class Program { static void Main(string[] args) { try { // create a QMS API client IQMS apiClient = new QMSClient(); //retrieve a time limited service key ServiceKeyClientMessageInspector.ServiceKey = apiClient.GetTimeLimitedServiceKey(); ServiceInfo qvsService = apiClient.GetServices(ServiceTypes.QlikViewServer).First(); CALConfiguration config = apiClient.GetCALConfiguration(qvsService.ID,CALConfigurationScope.All); if(config != null) { //Document CALs Console.WriteLine("Document CALs\n"); Console.WriteLine("# assigned document CALs:" + config.DocumentCALs.Assigned); Console.WriteLine("# in license document CALs:" + config.DocumentCALs.InLicense); Console.WriteLine("# limit document CALs:" + config.DocumentCALs.Limit); //Named CALs Console.WriteLine("\n\nNamed CALs\n"); Console.WriteLine("Identification mode:" + config.NamedCALs.IdentificationMode); Console.WriteLine("# assigned named CALs:" + config.NamedCALs.Assigned); Console.WriteLine("# in license named CALs:" + config.NamedCALs.InLicense); Console.WriteLine("# limit document CALs:" + config.NamedCALs.Limit); config.NamedCALs.AssignedCALs.ForEach( assignedCal => Console.WriteLine(String.Format("User:{0}\nLast used:{1}", assignedCal.UserName, assignedCal.LastUsed)) ); config.NamedCALs.LeasedCALs.ForEach( leasedCal => Console.WriteLine(String.Format("User:{0}\nLast used:{1}", leasedCal.UserName, leasedCal.LastUsed)) ); //Session CALs Console.WriteLine("\n\nSession CALs\n"); Console.WriteLine("# available session CALs:" + config.SessionCALs.Available); Console.WriteLine("# in license session CALs:" + config.SessionCALs.InLicense); Console.WriteLine("# limit session CALs:" + config.SessionCALs.Limit); } } catch (Exception ex) { Console.WriteLine("An exception occurred: " + ex.Message); } // wait for user to press any key Console.ReadLine(); } }