Example #1
0
 public _commandToWpf(string memory_name)
 {
     MarshalExt.CreateMarshalMemory(out this);                                                                             //выделение памяти под структуру
     SharedMemoryVarVS_REG.rtSharedCommandToWPF = (RTSharedMemory)RTXfuncfionsEXT.OpenSharedMemory(memory_name, ref this); //открытие именованной области памяти в сигменте RTX
 }
Example #2
0
        private void timer1_Tick(object sender, System.EventArgs e)
        {
            if (0 == m_hDownloader)
            {
                return;
            }

            if (FTKernelAPI.FTK_Downloader_GetState(m_hDownloader) == FTKernelAPI.DLSTATE.DLSTATE_CHECKING)
            {
                textBox4.Text = "Status: checking file...";
            }
            else if (FTKernelAPI.FTK_Downloader_GetState(m_hDownloader) == FTKernelAPI.DLSTATE.DLSTATE_DOWNLOAD)
            {
                textBox4.Text = "Status: downloading...";
            }
            else if (FTKernelAPI.FTK_Downloader_GetState(m_hDownloader) == FTKernelAPI.DLSTATE.DLSTATE_FETALERR)
            {
                textBox4.Text = "Status: downloading error...";
            }
            else if (FTKernelAPI.FTK_Downloader_GetState(m_hDownloader) == FTKernelAPI.DLSTATE.DLSTATE_TERMINATE)
            {
                textBox4.Text = "Status: stopping...";
            }

            int nPos = 0;

            if (FTKernelAPI.FTK_Downloader_GetState(m_hDownloader) == FTKernelAPI.DLSTATE.DLSTATE_CHECKING)
            {
                nPos = ( int )PERCENT((ulong)FTKernelAPI.FTK_Stat_GetCheckPieceCount(m_hDownloader), (ulong)m_nPieceCount);
                progressBar1.Value = nPos;
            }

            if (FTKernelAPI.FTK_Downloader_GetState(m_hDownloader) < FTKernelAPI.DLSTATE.DLSTATE_DOWNLOAD ||
                FTKernelAPI.FTK_Downloader_GetState(m_hDownloader) >= FTKernelAPI.DLSTATE.DLSTATE_FETALERR)
            {
                return;
            }

            P2PAPI.FTKernelAPI._tagPeerData [] PeersData = new P2PAPI.FTKernelAPI._tagPeerData[10];
            int nRetCount = 10;

            int nSize = Marshal.SizeOf(PeersData[0]);

            IntPtr pData = MarshalExt.AllocHGlobal(nSize * 10);

            nRetCount = 10;

            FTKernelAPI.FTK_Stat_GetPeerData(m_hDownloader, pData, ref nRetCount, 10);
            BytePtr_to_Peers_Data(pData, PeersData, nRetCount);
            MarshalExt.FreeHGlobal(pData);

            //P2PAPI.FTKernelAPI._tagAnnounceData [] AnnouncesData = new P2PAPI.FTKernelAPI._tagAnnounceData[10];// = new P2PAPI.FTKernelAPI._tagAnnounceData[ 20 ];

            P2PAPI.FTKernelAPI._tagAnnounceData [] AnnouncesData = new P2PAPI.FTKernelAPI._tagAnnounceData[10];
            nSize = Marshal.SizeOf(AnnouncesData[0]);

            pData     = MarshalExt.AllocHGlobal(nSize * 10);
            nRetCount = 10;

            FTKernelAPI.FTK_Stat_GetAnnounceData(m_hDownloader, pData, ref nRetCount, 10);
            BytePtr_to_Announces_Data(pData, AnnouncesData, nRetCount);
            MarshalExt.FreeHGlobal(pData);

            ulong ulTotalFileHaveSize = FTKernelAPI.FTK_Stat_GetTotalFileHaveSize(m_hDownloader);

            nPos = ( int )PERCENT((ulong)ulTotalFileHaveSize, (ulong)m_ulTotalFileSize);
            progressBar1.Value = nPos;

            String sValue;

            sValue      = FormatBytes(( ulong )FTKernelAPI.FTK_Stat_GetDownloadRate(m_hDownloader));
            label1.Text = "Down Speed: " + sValue + "/s";

            sValue      = FormatBytes(( ulong )FTKernelAPI.FTK_Stat_GetUploadRate(m_hDownloader));
            label2.Text = "Up Speed: " + sValue + "/s";

            sValue         = FormatBytes(ulTotalFileHaveSize);
            textBox4.Text += " | Downloaded: " + sValue;

            if (nPos >= 100)
            {
                textBox4.Text = "Status: Downloaded OK...";
            }
        }
Example #3
0
 public tTimerStruct(string memory_name)
 {
     //this = new TVS_RTX();
     MarshalExt.CreateMarshalMemory(out this);                                                                          //выделение памяти под структуру
     SharedMemoryVarVS_REG.rtSharedGetMemory = (RTSharedMemory)RTXfuncfionsEXT.OpenSharedMemory(memory_name, ref this); //открытие именованной области памяти в сигменте RTX
 }
Example #4
0
 public static unsafe string GetVersionString()
 {
     return(MarshalExt.FromUTF8(glfwGetVersionString()));
 }
Example #5
0
 public static void SetWindowTitle(Window window, string title)
 {
     glfwSetWindowTitle(window.Handle, MarshalExt.ToUTF8ByteArray(title));
 }
Example #6
0
 public static Window CreateWindow(int width, int height, string title, Monitor?monitor = null, Window?share = null)
 {
     return(glfwCreateWindow(width, height, MarshalExt.ToUTF8ByteArray(title), monitor.HasValue ? monitor.Value.Handle : IntPtr.Zero, share.HasValue ? share.Value.Handle : IntPtr.Zero));
 }
Example #7
0
 public static string GetMonitorName(Monitor monitor)
 {
     return(MarshalExt.FromUTF8(glfwGetMonitorName(monitor)));
 }