.1 – Các Class của WIDCOMM SDK

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Định vị thiết bị di động bằng công nghệ Bluetooth (Trang 28 - 29)

- Các hàm ảo (VIRTUAL FUNCTIONS)

Các DK Class cung cấp các hàm ảo cần thiết cho các ứng dụng để phản ứng với các sự kiện giao thức Bluetooth.

Ví dụ khi một ứng dụng yêu cầu một liên kết RFCOMM và định nghĩa một lớp ứng dụng dẫn xuất từ lớp cơ sở CrfCommPort. Lớp dẫn xuất đó định nghĩa các hàm dẫn xuất thay thế cho các hàm ảo trong CrfCommPort.

Hàm OnDataReceived() đƣợc gọi để chuyển một gói dữ liệu đến ứng dụng.

Hàm OnEventReceived() đƣợc gọi khi một sự kiện đáng lƣu ý đƣợc phát hiện, chẳng hạn nhƣ việc kết nối hay hủy kết nối.

Vài hàm ảo là thuần ảo – tức là không có sự thực thi mặc định trong lớp cơ sở, vì vậy ứng dụng đó phải cung cấp một hàm dẫn xuất. Chẳng hạn nhƣ

CSppClient::OnClientStateChange() CLapClient::OnStateChange().

Các hàm ảo mà không phải là thuần ảo có thực thi mặc định không làm gì trong lớp có sở DK cả. Các hàm này có thể sử dụng cho một ứng dụng nhƣng lại không dùng cho ứng dụng khác.

Các ứng dụng có thể lấy giá trị mặc định nếu hàm đó không có ích. Ví dụ nhƣ

CRfCommPort::OnModemSignalChanged() CRfCommPort::OnFlowEnabled(). - Hàm hủy cho các DK Class

- Các hàm dẫn xuất chạy trên các thread riêng biệt

Các hàm dẫn xuất chạy trong một ngữ cảnh khác với ứng dụng. Các hoạt động đƣợc thực thi trong các hàm dẫn xuất phải đƣợc đảm bảo thread-safe cho ứng dụng đó.

- Mô tả và cách dùng CBtIf Class

Class này cung cấp một giao diện ngăn xếp cho việc inquiry thiết bị và discovery dịch vụ. Một đối tƣợng (object) của class này cần đƣợc thuyết minh trƣớc khi bất kỳ lớp DK nào khác đƣợc sử dụng (điển hình là lúc khởi động ứng dụng). Một đối tƣợng của lớp này không nên xóa cho đến khi ứng dụng đã hoàn thành tất cả các trao đổi với ngăn xếp (thƣờng là tại thời điểm tắt ứng dụng ).

Class này định nghĩa định nghĩa các hàm thuần ảo CBtIf::OnDeviceResponded()

CBtIf::OnDiscoveryComplete(). Ứng dụng phải cung cấp một lớp dẫn xuất cho các

hàm đó. Nó cũng định nghĩa một hàm ảo CBtIf::OnInquiryComplete(), mà ứng dụng

có thể định nghĩa khi cần thiết.

Một tập các giá trị GUID chuẩn cho các lớp dịch vụ Bluetooth đƣợc cung cấp nhƣ là các thành phần dữ liệu của lớp này.

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Định vị thiết bị di động bằng công nghệ Bluetooth (Trang 28 - 29)

Tải bản đầy đủ (PDF)

(46 trang)