3.4.2.2 Thư viện PWLib
PWLib là thƣ viện cho phép trình ứng dụng có thể dễ dàng chuyển đổi từ hệ điều hành Microsoft Windows sang hệ điều hành Unix và ngƣợc lại.
Từ khi xuất hiện các bộ xây dựng giao diện đa hệ điều hành nhƣ KDE và xWindows, và sự phát triển của dự án OpenH323 tập trung vào hệ thống mạng, chuyển đổi đầu vào/đầu ra, đa luồng và đa hệ điều hành. Thƣ viện PWLib đƣợc sử dụng để tạo ra các trình ứng dụng hiệu suất cao và dễ dàng chuyển đổi ở các môi trƣờng mạng khác nhau.
Các lớp “chứa” chính của thƣ viện gồm mảng, danh sách tuyến tính, danh sách sắp xếp và các từ điển dạng bảng băm..., các lớp này đƣợc chia làm hai nhóm chính các lớp cơ sở và thành phần giao.
Lớp cơ sở bao gồm tất cả các lớp hỗ trợ cho việc kiến tạo nhƣ là lớp container, lớp thread và lớp socket, những lớp này đƣợc sử dụng tuỳ thuộc vào hệ điều hành nền mà chƣơng trình chạy trên nó.
Thành phần giao tiếp thực thi các chức năng độc lập với hệ điều hành và không bắt buộc phải khai báo với các chƣơng trình sử dụng. Một vài hệ điều hành (đặc biệt là Windows), lớp cơ sở và thành phần điều khiển đƣợc chia thành hai thƣ viện kế thừa rời rạc. Các hệ điều hành khác (nhƣ Unix) tổ hợp tất cả mã nguồn vào trong cùng một thƣ viện và dựa vào các liên kết để loại bỏ các mã nguồn không cần thiết.
Các lớp cơ sở.
- Các lớp đối tƣợng cơ bản:
PObject – Lớp cơ sở cho tất cả các lớp trong PWLib.
PContainer – lớp cơ sở cho tất cả các lớp có kiểu liệt kê. Về cơ bản, một đối tƣợng container cho phép chứa nhiều đối tƣợng khác. Lớp này hỗ trợ hai vùng, vùng thứ nhất đơn giản chỉ chứa số lƣợng các đối tƣợng đƣợc chứa trong nó, vùng thứ hai hỗ trợ cho các tham chiếu đến các thành phần.
PAbstractArray – lớp cơ sở cho mảng của các đối tƣợng. PAbstractList – lớp cơ sở cho danh sách các đối tƣợng. PAbstractDictionary – lớp cơ sở cho từ điển.
PString – lớp cơ sở cho các khai báo trừu tƣợng (abstraction) cho kiểu chuỗi.
- Các lớp thiết lập kênh đầu vào/đầu ra.
PChannel – lớp cơ sở cho tất cả kênh vào ra.
PIndirectChannel – một kênh cho phép đóng gói các kênh khác. PConsoleChannel – kênh truy nhập điều khiển hệ thống.
PPipeChannel – thực thi chƣơng trình và truy nhập đầu vào, đầu ra – tƣơng tự nhƣ lớp Pchannel.
PSerialChannel – định nghĩa kênh vào ra kết nối với cổng serial – RS-232.
PFile – truy nhập file trên hệ điều hành máy chủ. Lớp này biểu thị một file trên đĩa.
PVideoChannel – ghi/đọc dữ liệu từ một thiết bị video. Lớp này cung cấp chủ yếu chức năng phát lại và ghi tín hiệu video trên hệ thống.
PSoundChannel - đọc/ghi dữ liệu từ thiết bị âm thanh. - Lớp socket.