Вход/Регистрация
Программирование мобильных устройств на платформе .NET Compact Framework
вернуться

Салмре Иво

Шрифт:

'====================================================================

Class IrDAFileSend

Private m_descriptionOfLastSendAttempt As String

Private m_IrDAServiceName As String

Private m_fileToSend As String

Private m_wasSenderStopped As Boolean

Public Enum SendStatus

AttemptingToSend

Finished_Successfully

Finished_Aborted

Finished_Error

End Enum

Private m_SendStatus As SendStatus

Public ReadOnly Property Status As SendStatus

Get

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

SyncLock (Me)

Return m_SendStatus

End SyncLock

End Get

End Property

Private Sub setStatus(ByVal newStatus As SendStatus)

'Блокировка выполнения параллельных операций чтения/записи в m SendStatus

SyncLock (Me)

m_SendStatus = newStatus

End SyncLock

End Sub

Public ReadOnly Property ErrorText As String

Get

Return m_descriptionOfLastSendAttempt

End Get

End Property

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

'КОНСТРУКТОР

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

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

'Имя сокета IrDA, поиск которого мы хотим осуществить

m_IrDAServiceName = irdaServiceName

'Файл, который мы хотим передать

m_fileToSend = fileToSend

End Sub

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

'Запускает новый поток для осуществления попытки отправки файла

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

Public Sub LoopAndAttemptIRSendAsync

'Мы находимся в режиме передачи

setStatus(SendStatus.AttemptingToSend)

'Пользователь пока что не отменил выполнение операции

m_wasSenderStopped = False

'Это функция, которую должен запустить на выполнение новый поток

Dim threadEntryPoint As System.Threading.ThreadStart

threadEntryPoint = _

New System.Threading.ThreadStart(AddressOf LoopAndAttemptIRSend)

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

'Создать новый поток и запустить его

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

Dim newThread As System.Threading.Thread = _

New System.Threading.Thread(threadEntryPoint)

newThread.Start

'Вперед!

End Sub

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

'Входит в цикл и пытается передать файл посредством IR

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

Public Sub LoopAndAttemptIRSend

Dim irDASender As System.Net.Sockets.IrDAClient

Dim streamOutToIrDA As System.IO.Stream

Dim streamInFromFile As System.IO.Stream

'Пользователь пока что не отменил выполнение операции

m_wasSenderStopped = False

setStatus(SendStatus.AttemptingToSend)

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

'Непрерывное выполнение цикла, пока не удастся отправить сообщение

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

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

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

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: