/// <summary> /// Initialize the application with the specified product and extension license code. /// </summary> /// <returns>Initialization is successful.</returns> /// <remarks> /// If no active runtime has been bound to the application before license initialization /// takes place, the ResolveBindingEvent is raised. /// </remarks> public bool InitializeApplication(esriLicenseProductCode[] productCodes, esriLicenseExtensionCode[] extensionLics) { //Cache product codes by enum int so can be sorted without custom sorter m_requestedProducts = new List<int>(); foreach (esriLicenseProductCode code in productCodes) { int requestCodeNum = Convert.ToInt32(code); if (!m_requestedProducts.Contains(requestCodeNum)) { m_requestedProducts.Add(requestCodeNum); } } AddExtensions(extensionLics); // Make sure an active version has been loaded before calling any ArcObjects code. RuntimeInfo boundRuntime = RuntimeManager.ActiveRuntime; if (boundRuntime != null && (this.AllowImplicitRuntimeBinding || boundRuntime.Product > ProductCode.ArcGIS)) { m_AoInit = new AoInitializeClass(); } else { EventHandler temp = ResolveBindingEvent; if (temp != null) { temp(this, new EventArgs()); if (RuntimeManager.ActiveRuntime != null) m_AoInit = new AoInitializeClass(); } } return Initialize(); }
public void InitializeApplication(esriLicenseProductCode[] products,esriLicenseExtensionCode [] extensions) { // Binding a product RuntimeManager.Bind(ProductCode.EngineOrDesktop); // Initialize a product code m_AoInit = new AoInitializeClass(); esriLicenseProductCode currentProduct = new esriLicenseProductCode(); foreach (esriLicenseProductCode prod in products) { esriLicenseStatus prodStatus = m_AoInit.IsProductCodeAvailable(prod); if(prodStatus==esriLicenseStatus.esriLicenseAvailable) { prodStatus=m_AoInit.Initialize(prod); if(prodStatus==esriLicenseStatus.esriLicenseAlreadyInitialized||prodStatus==esriLicenseStatus.esriLicenseCheckedOut) { currentProduct = prod; } } } if(m_AoInit.InitializedProduct()!=null) { foreach (esriLicenseExtensionCode ext in extensions) { m_RequetedExtensionCodes.Add(ext); esriLicenseStatus extStatus = m_AoInit.IsExtensionCodeAvailable(currentProduct,ext); if (extStatus == esriLicenseStatus.esriLicenseAvailable) m_AoInit.CheckOutExtension(ext); } } }
/// <summary> /// Initialize the application with the specified product and extension license code. /// </summary> /// <returns>Initialization is successful.</returns> /// <remarks> /// Make sure an active ArcGIS runtime has been bound before license initialization. /// </remarks> public bool InitializeApplication(esriLicenseProductCode[] productCodes, esriLicenseExtensionCode[] extensionLics) { //Cache product codes by enum int so can be sorted without custom sorter m_requestedProducts = new List<int>(); foreach (esriLicenseProductCode code in productCodes) { int requestCodeNum = Convert.ToInt32(code); if (!m_requestedProducts.Contains(requestCodeNum)) { m_requestedProducts.Add(requestCodeNum); } } AddExtensions(extensionLics); // Make sure an active runtime has been bound before calling any ArcObjects code. if (RuntimeManager.ActiveRuntime == null) { EventHandler temp = ResolveBindingEvent; if (temp != null) { temp(this, new EventArgs()); } } return Initialize(); }
private bool m_productCheckOrdering = true; //default from low to high #endregion public bool InitializeApplication(esriLicenseProductCode[] productCodes, esriLicenseExtensionCode[] extensionLics) { //Cache product codes by enum int so can be sorted without custom sorter m_requestedProducts = new List<int>(); foreach (esriLicenseProductCode code in productCodes) { int requestCodeNum = Convert.ToInt32(code); if (!m_requestedProducts.Contains(requestCodeNum)) { m_requestedProducts.Add(requestCodeNum); } } AddExtensions(extensionLics); return Initialize(); }
public bool InitializeApplication(esriLicenseProductCode[] productCodes, esriLicenseExtensionCode[] extensionLics) { bool bInitialized = true; if (m_AoInitialize == null) { bInitialized = false; } //Initialize the application esriLicenseStatus licenseStatus = esriLicenseStatus.esriLicenseUnavailable; m_productsCode = productCodes; m_pExtensionsCode = extensionLics; licenseStatus = CheckOutLicenses(); if (licenseStatus != esriLicenseStatus.esriLicenseCheckedOut) { bInitialized = false; } return bInitialized; }
private string ReportInformation(ILicenseInformation licInfo, esriLicenseExtensionCode code, esriLicenseStatus status) { string extensionName = string.Empty; try { extensionName = licInfo.GetLicenseExtensionName(code); } catch { extensionName = code.ToString(); } string statusInfo = string.Empty; switch (status) { case esriLicenseStatus.esriLicenseAlreadyInitialized: case esriLicenseStatus.esriLicenseCheckedOut: statusInfo = string.Format(MessageExtensionAvailable, extensionName); break; case esriLicenseStatus.esriLicenseCheckedIn: break; case esriLicenseStatus.esriLicenseUnavailable: statusInfo = string.Format(MessageExtensionUnavailable, extensionName); break; case esriLicenseStatus.esriLicenseFailure: statusInfo = string.Format(MessageExtensionFailed, extensionName); break; default: statusInfo = string.Format(MessageExtensionNotLicensed, extensionName); break; } return(statusInfo); }
private static esriLicenseStatus CheckOutLicenses(esriLicenseProductCode esriLicenseProductCode_0, esriLicenseExtensionCode esriLicenseExtensionCode_0) { if (m_pAoInitialize == null) { // m_pAoInitialize = new AoInitializeClass(); } esriLicenseStatus status = m_pAoInitialize.IsProductCodeAvailable(esriLicenseProductCode_0); if (status == esriLicenseStatus.esriLicenseAvailable) { status = m_pAoInitialize.IsExtensionCodeAvailable(esriLicenseProductCode_0, esriLicenseExtensionCode_0); if (status == esriLicenseStatus.esriLicenseAvailable) { status = m_pAoInitialize.Initialize(esriLicenseProductCode_0); if (status == esriLicenseStatus.esriLicenseCheckedOut) { status = m_pAoInitialize.CheckOutExtension(esriLicenseExtensionCode_0); } } } return(status); }
/// <summary> /// Checks out ESRI Product and Extension Licenses. /// </summary> /// <remarks> /// This method is ultimately called by all other start methods. /// It contains all the ESRI specific code. and will block until a license is returned, /// or the license cannot be obtained. The time to complete can vary greatly on the speed /// of the user's connection to a license server. /// </remarks> private static void PrivateStart() { lock (_AOLicenseInitializer) //To protect get/set of Running from multiple threads { if (!Running) { Trace.TraceInformation("{0}: Begin Get ArcGIS License", DateTime.Now); Stopwatch time = Stopwatch.StartNew(); //version 10 change: RuntimeManager.Bind(ProductCode.Desktop); _AOLicenseInitializer.InitializeLowerProductFirst = Settings.Default.CheckForArcViewBeforeArcInfo; //Uncomment Additional license/extensions you want to check out #if ARCGIS_10_1 esriLicenseProductCode[] products = new[] { esriLicenseProductCode.esriLicenseProductCodeAdvanced, //60 esriLicenseProductCode.esriLicenseProductCodeStandard, //50 esriLicenseProductCode.esriLicenseProductCodeBasic, //40 //esriLicenseProductCode.esriLicenseProductCodeArcServer, //30 //esriLicenseProductCode.esriLicenseProductCodeEngineGeoDB, //20 //esriLicenseProductCode.esriLicenseProductCodeEngine, //10 }; #else esriLicenseProductCode[] products = new[] { esriLicenseProductCode.esriLicenseProductCodeArcInfo, //60 esriLicenseProductCode.esriLicenseProductCodeArcEditor, //50 esriLicenseProductCode.esriLicenseProductCodeArcView, //40 //esriLicenseProductCode.esriLicenseProductCodeArcServer, //30 //esriLicenseProductCode.esriLicenseProductCodeEngineGeoDB, //20 //esriLicenseProductCode.esriLicenseProductCodeEngine, //10 }; #endif esriLicenseExtensionCode[] extensions = new esriLicenseExtensionCode[] { //esriLicenseExtensionCode.esriLicenseExtensionCode3DAnalyst, //esriLicenseExtensionCode.esriLicenseExtensionCodeCOGO, //esriLicenseExtensionCode.esriLicenseExtensionCodeGeoStats, //esriLicenseExtensionCode.esriLicenseExtensionCodeNetwork, //esriLicenseExtensionCode.esriLicenseExtensionCodeSpatialAnalyst, //esriLicenseExtensionCode.esriLicenseExtensionCodeSurvey, //... }; bool initSucceeded = _AOLicenseInitializer.InitializeApplication(products, extensions); if (!initSucceeded) { Message = _AOLicenseInitializer.LicenseMessage(); Running = false; } else { Message = null; Running = true; } time.Stop(); Trace.TraceInformation("{0}: End Get ArcGIS License, total time {1}sec{2}ms", DateTime.Now, time.Elapsed.Seconds, time.Elapsed.Milliseconds); } } }
/// <summary> /// Indicates if the extension is currently checked out. /// </summary> /// <param name="code"> /// The code. /// </param> public bool IsExtensionCheckedOut(esriLicenseExtensionCode code) { return _aoInit.IsExtensionCheckedOut(code); }
public bool IsExtensionCheckedOut (esriLicenseExtensionCode code) { return false; }
public esriLicenseStatus IsExtensionCodeAvailable(esriLicenseProductCode p, esriLicenseExtensionCode e) { return esriLicenseStatus.esriLicenseCheckedIn; }
public string GetLicenseExtensionName(esriLicenseExtensionCode code) { return string.Empty; }
public esriLicenseStatus CheckinExtension(esriLicenseExtensionCode extensionCode) { return(_initializer.CheckinExtension(extensionCode)); }
/// <summary> /// Indicates if the extension is currently checked out. /// </summary> public bool IsExtensionCheckedOut(esriLicenseExtensionCode code) { return m_AoInit != null && m_AoInit.IsExtensionCheckedOut(code); }
public esriLicenseStatus CheckOutExtension (esriLicenseExtensionCode code) { return esriLicenseStatus.esriLicenseCheckedOut; }
private string ReportInformation(ILicenseInformation licInfo, esriLicenseExtensionCode code, esriLicenseStatus status) { string extensionName = string.Empty; try { extensionName = licInfo.GetLicenseExtensionName(code); } catch { extensionName = code.ToString(); } string statusInfo = string.Empty; switch (status) { case esriLicenseStatus.esriLicenseAlreadyInitialized: case esriLicenseStatus.esriLicenseCheckedOut: statusInfo = string.Format(MessageExtensionAvailable, extensionName); break; case esriLicenseStatus.esriLicenseCheckedIn: break; case esriLicenseStatus.esriLicenseUnavailable: statusInfo = string.Format(MessageExtensionUnavailable, extensionName); break; case esriLicenseStatus.esriLicenseFailure: statusInfo = string.Format(MessageExtensionFailed, extensionName); break; default: statusInfo = string.Format(MessageExtensionNotLicensed, extensionName); break; } return statusInfo; }
public esriLicenseStatus CheckInExtension (esriLicenseExtensionCode code) { return esriLicenseStatus.esriLicenseCheckedIn; }
/// <summary> /// Indicates if the extension is currently checked out. /// </summary> public bool IsExtensionCheckedOut(esriLicenseExtensionCode code) { return(m_AoInit != null && m_AoInit.IsExtensionCheckedOut(code)); }
/// <summary> /// Initialize application license /// </summary> /// <param name="productCodes">Products codes</param> /// <param name="extensionLics">Extensions codes.</param> public bool InitializeApplication(esriLicenseProductCode[] productCodes, esriLicenseExtensionCode[] extensionLics) { if (!RuntimeManager.Bind(ProductCode.EngineOrDesktop)) { return false; } _aoInit = new AoInitializeClass(); // Cache product codes by enum int so can be sorted without custom sorter _requestedProducts = new List<int>(); foreach (var requestCodeNum in productCodes.Select(code => Convert.ToInt32(code)).Where(requestCodeNum => !_requestedProducts.Contains(requestCodeNum))) { _requestedProducts.Add(requestCodeNum); } AddExtensions(extensionLics); return Initialize(); }