Imports Leadtools
Imports Leadtools.MediaStreaming
Public Class LicenseHolder
  Protected m_licmgr As LicenseManager
  Protected m_service As Boolean
  Protected m_verbose As Boolean
  Protected m_title As String
  Public Sub New(ByVal verbose As Boolean, ByVal title As String, ByVal service As Boolean)
     m_service = service
     m_verbose = verbose
     m_title = title
  End Sub
  Protected Overrides Sub Finalize()
  End Sub
  Protected Function IsDisplayEnabled() As Boolean
     Return (m_verbose AndAlso (Not m_service))
  End Function
  Protected Function DisplayLicenseError(ByVal message As String) As DialogResult
     Return MessageBox.Show(message, m_title, MessageBoxButtons.OK, MessageBoxIcon.Error)
  End Function
  Public Sub LoadLicenseManager()
     Try
       If m_licmgr Is Nothing Then
         m_licmgr = New LicenseManager()
       End If
     Catch ex As System.Exception
       If IsDisplayEnabled() Then
         DisplayLicenseError("Can't instantiate LEAD Media Streaming License Manager")
       End If
       Throw ex
     End Try
  End Sub
  Public Sub SetLicense(ByVal license As String, ByVal key As String, ByVal flags As SetLicenseFlags)
     LoadLicenseManager()
     Try
       ' Sets the license for the calling application
       m_licmgr.SetLicense(license, key, CInt(flags))
     Catch ex As System.Exception
       If IsDisplayEnabled() Then
         DisplayLicenseError("Your license file is missing, invalid or expired. The LEAD Media Streaming Library will not function. Please contact LEAD Sales for information on obtaining a valid license.")
         Process.Start("https://www.leadtools.com/downloads/evaluation-form.asp?evallicenseonly=true")
       End If
       Throw ex
     End Try
  End Sub
  Public Sub UnloadLicenseManager()
     m_licmgr.Dispose()
     m_licmgr = Nothing
  End Sub
End Class
Public _server As Server = Nothing
Public _result As Boolean = False
Public Sub LicenseHolderExample()
  Try
     ' create an instance of the LicenseHolder class
     Dim holder As LicenseHolder = New LicenseHolder(True, "Leadtools MediaStreaming Server", False)
     ' set the license
     holder.SetLicense("ltmsAppFolder\LEADTOOLS.LIC", "ltmsAppFolder\LEADTOOLS.LIC.KEY", SetLicenseFlags.LicenseIsFile Or SetLicenseFlags.KeyIsFile)
     ' create an instance of the server object
     _server = New Leadtools.MediaStreaming.Server()
     ' start the server
     _server.Start()
     ' confirm the running state for demonstration purposes
     If _server.State = State.Started Then
       ' display a message that the server is running and wait for OK
       MessageBox.Show("The server has started. Press OK to stop.", "LEADTOOLS Media Streaming Examples", MessageBoxButtons.OK, MessageBoxIcon.Information)
     End If
     ' stop the server
     _server.Stop()
     ' unload the license
     holder.UnloadLicenseManager()
     _result = True
  Catch e1 As Exception
     _result = False
  End Try
End Sub
             
   
     
            using Leadtools;
using Leadtools.MediaStreaming;
public class LicenseHolder
{
   protected LicenseManager m_licmgr;
   protected bool m_service;
   protected bool m_verbose;
   protected string m_title;
   public LicenseHolder(bool verbose, string title, bool service)
   {
      m_service = service;
      m_verbose = verbose;
      m_title = title;
   }
   ~LicenseHolder()
   {
   }
   protected bool IsDisplayEnabled()
   {
      return (m_verbose && !m_service);
   }
   protected DialogResult DisplayLicenseError(string message)
   {
      return MessageBox.Show(message, m_title, MessageBoxButtons.OK, MessageBoxIcon.Error);
   }
   public void LoadLicenseManager()
   {
      try
      {
         if (m_licmgr == null)
         {
            m_licmgr = new LicenseManager();
         }
      }
      catch (System.Exception ex)
      {
         if (IsDisplayEnabled())
         {
            DisplayLicenseError("Can't instantiate LEAD Media Streaming License Manager");
         }
         throw ex;
      }
   }
   public void SetLicense(string license, string key, SetLicenseFlags flags)
   {
      LoadLicenseManager();
      try
      {
         // Sets the license for the calling application
         m_licmgr.SetLicense(license, key, (int)flags);
      }
      catch (System.Exception ex)
      {
         if (IsDisplayEnabled())
         {
            DisplayLicenseError("Your license file is missing, invalid or expired. The LEAD Media Streaming Library will not function. Please contact LEAD Sales for information on obtaining a valid license.");
            Process.Start("https://www.leadtools.com/downloads/evaluation-form.asp?evallicenseonly=true");
         }
         throw ex;
      }
   }
   public void UnloadLicenseManager()
   {
      m_licmgr.Dispose();
      m_licmgr = null;
   }
}
public Server _server = null;
public bool _result = false;
public void LicenseHolderExample()
{
   try
   {
      // create an instance of the LicenseHolder class
      LicenseHolder holder = new LicenseHolder(true, "Leadtools MediaStreaming Server", false);
      // set the license
      holder.SetLicense("ltmsAppFolder\\LEADTOOLS.LIC", "ltmsAppFolder\\LEADTOOLS.LIC.KEY", SetLicenseFlags.LicenseIsFile | SetLicenseFlags.KeyIsFile);
      // create an instance of the server object
      _server = new Leadtools.MediaStreaming.Server();
      // start the server
      _server.Start();
      // confirm the running state for demonstration purposes
      if (_server.State == State.Started)
      {
         // display a message that the server is running and wait for OK
         MessageBox.Show("The server has started. Press OK to stop.", "LEADTOOLS Media Streaming Examples", MessageBoxButtons.OK, MessageBoxIcon.Information);
      }
      // stop the server
      _server.Stop();
      // unload the license
      holder.UnloadLicenseManager();
      _result = true;
   }
   catch (Exception)
   {
      _result = false;
   }
}