Private-Bookers
Программирование мобильных устройств на платформе .NET Compact Framework
вернуться

Салмре Иво

Шрифт:

'--------------------------------------------------------------------

Public Class IrDAFileReceive

Private m_wasListenerStopped As Boolean

Private m_IrDAServiceName As String

Private m_fileNameForDownload As String

Private m_errorDurmgTransfer As String

Private m_irListener As System.Net.Sockets.IrDAListener

Private m ReceiveStatus As ReceiveStatus

Public ReadOnly Property ErrorText As String

Get

Return m_errorDuringTransfer

End Get

End Property

'--------------------------

'Различные состояния приема

'--------------------------

Public Enum ReceiveStatus

NotDone_SettingUp

NotDone_WaitingForSender

NotDone_Receiving

Done_Success

Done_Aborted

Done_ErrorOccured

End Enum

'------------------------------

' Возвращает состояние передачи

'------------------------------

Public ReadOnly Property Status As ReceiveStatus

Get

SyncLock (Me)

Return m_ReceiveStatus

End SyncLock

End Get

End Property

Private Sub setStatus(ByVal newStatus As ReceiveStatus)

'Обеспечить многопоточную безопасность для предотвращения

'параллельного выполнения операций чтения/записи

SyncLock (Me)

m_ReceiveStatus = newStatus

End SyncLock 'end lock

End Sub

'--------------------------------------------------

' (in) filename: желаемое имя для входного файла IR

'--------------------------------------------------

Public Sub New(ByVal filename As String, ByVal irdaServiceName As String)

'Имя сокета IrDA, который мы хотим открыть

m_IrDAServiceName = irdaServiceName

'Имя файла, в котором мы хотим сохранить полученные данные

m_fileNameForDownload = filename

End Sub

'----------------------------------------------------------

'Обеспечивает асинхронный прием файла через IR

' (in) filename: имя файла, в который осуществляется запись

'----------------------------------------------------------

Public Sub WaitForIRFileDownloadAsync

'Заметьте, что сейчас мы находимся в режиме подготовки

setStatus(ReceiveStatus.NotDone_SettingUp)

'-------------------

'Создать новый поток

'-------------------

Dim threadEntryPoint As System.Threading.ThreadStart

threadEntryPoint = _

New System.Threading.ThreadStart(AddressOf WaitForIRFileDownload)

Dim newThread As System.Threading.Thread = _

New System.Threading.Thread(threadEntryPoint)

'Запустить поток на выполнение

newThread.Start

End Sub

'------------------------------------------

'Открывает порт IR и ожидает загрузки файла

'------------------------------------------

Public Sub WaitForIRFileDownload

Dim outputStream As System.IO.Stream

Dim irdaClient As System.Net.Sockets.IrDAClient

  • Читать дальше
  • 1
  • ...
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319

Private-Bookers - русскоязычная библиотека для чтения онлайн. Здесь удобно открывать книги с телефона и ПК, возвращаться к сохраненной странице и держать любимые произведения под рукой. Материалы добавляются пользователями; если считаете, что ваши права нарушены, воспользуйтесь формой обратной связи.

Полезные ссылки

  • Моя полка