Beispiel #1
0
        public SerialNumbers(NetIfManager manager, string masterSN)
        {
            int k;

            Manager = manager;
            if (!String.IsNullOrWhiteSpace(masterSN))
            {
                MasterSNString = masterSN;
                if (!MasterSNString.EndsWith("\0"))
                {
                    MasterSNString += "\0";
                }
            }
            else
            {
                int n = Convert.ToInt32(Manager.ShellId);
                MasterSNString = Settings.SerialNumberFormatter(Lima.GetComputerCode(), (char)(Primitives.NibbleToHexChar((byte)n)), '0');
            }
            MasterSN = Primitives.StringToByteArray(MasterSNString);
            UpdateProductCode(MasterSN);
            SerialNumbersFreeHeap = new TokenAllocator(SerialNumbersSize);
            IoSerialNumbers       = new SerialNumber[SerialNumbersSize];
            for (k = 0; k < SerialNumbersSize; k++)
            {
                IoSerialNumbers[k] = new SerialNumber();
            }
        }
Beispiel #2
0
 public NetIfManager(string shellId, string masterSN, InterruptSource interrupt)
 {
     ShellId           = shellId;
     Interrupt         = interrupt;
     IoBuffersFreeHeap = new TokenAllocator(IoBuffersHeapSize);
     IoBuffers         = new PacketBuffer[IoBuffersHeapSize];
     for (int k = 0; k < IoBuffersHeapSize; ++k)
     {
         IoBuffers[k] = new PacketBuffer(MaxPacketSize);
     }
     IoNetIfs            = new Dictionary <int, LinkDriver>();
     Factory             = new PacketFactory(this);
     SerialNumberManager = new SerialNumbers(this, masterSN);
 }