nl:: Weave:: System:: Platform:: Layer
Tóm tắt
Hàm |
|
---|---|
DidInit(Layer & aLayer, void *aContext, Error aStatus)
|
NL_DLL_EXPORT void
Đây là hook sau khi khởi chạy Layer (Lớp) của Hệ thống Weave dành riêng cho nền tảng.
|
DidShutdown(Layer & aLayer, void *aContext, Error aStatus)
|
NL_DLL_EXPORT void
Đây là hook trước khi tắt khẩn cấp của Hệ thống Weave dành riêng cho nền tảng Layer (Lớp).
|
DispatchEvent(Layer & aLayer, void *aContext, Event aEvent)
|
NL_DLL_EXPORT Error
Đây là dạng hook gửi thư / sự kiện dành riêng cho nền tảng.
|
DispatchEvents(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
Đây là dạng hook gửi thư / sự kiện dành riêng cho nền tảng.
|
GetClock_Monotonic(void)
|
uint64_t
Hàm dành riêng cho nền tảng để nhận thời gian hệ thống đơn điệu tính bằng micrô giây.
|
GetClock_MonotonicHiRes(void)
|
uint64_t
Chức năng dành riêng cho nền tảng để nhận thời gian hệ thống đơn điệu có độ phân giải cao tính bằng micrô giây.
|
GetClock_MonotonicMS(void)
|
uint64_t
Hàm dành riêng cho nền tảng để nhận thời gian hệ thống đơn điệu tính bằng mili giây.
|
GetClock_RealTime(uint64_t & curTime)
|
Error
Chức năng dành riêng cho nền tảng để nhận thời gian thực (dân dụng) hiện tại ở định dạng thời gian Unix micrô giây.
|
GetClock_RealTimeMS(uint64_t & curTimeMS)
|
Error
Chức năng dành riêng cho nền tảng để nhận thời gian thực (dân dụng) hiện tại ở định dạng thời gian Unix mili giây.
|
PostEvent(Layer & aLayer, void *aContext, Object & aTarget, EventType aType, uintptr_t aArgument)
|
NL_DLL_EXPORT Error
Đây là nội dung hấp dẫn sau khi đăng tin nhắn / sự kiện dành riêng cho nền tảng.
|
SetClock_RealTime(uint64_t newCurTime)
|
Error
Chức năng dành riêng cho nền tảng để đặt giờ thực hiện hiện tại (dân dụng).
|
StartTimer(Layer & aLayer, void *aContext, uint32_t aMilliseconds)
|
NL_DLL_EXPORT Error
Đây là dạng hook gửi thư / sự kiện dành riêng cho nền tảng.
|
WillInit(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
Đây là hook khởi động trước của Hệ thống Weave dành riêng cho nền tảng Layer (Lớp).
|
WillShutdown(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
Đây là hook trước khi tắt khẩn cấp của Hệ thống Weave dành riêng cho nền tảng Layer (Lớp).
|
Hàm
DidInit
NL_DLL_EXPORT void DidInit( Layer & aLayer, void *aContext, Error aStatus )
Đây là hook sau khi khởi chạy Layer (Lớp) của Hệ thống Weave dành riêng cho nền tảng.
Bạn có thể ghi đè chính sách này bằng cách chú giải định nghĩa tiền xử lý, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các tham số |
|
DidShutdown
NL_DLL_EXPORT void DidShutdown( Layer & aLayer, void *aContext, Error aStatus )
Đây là hook trước khi tắt khẩn cấp của Hệ thống Weave dành riêng cho nền tảng Layer (Lớp).
Bạn có thể ghi đè chính sách này bằng cách chú giải định nghĩa tiền xử lý, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các tham số |
|
||||||
Trả về |
WEAVE_SYSTEM_NO_ERROR khi thành công; nếu không thì một lỗi cụ thể cho biết lý do tắt không thành công. Nếu bạn trả lại trạng thái không thành công, việc này sẽ huỷ việc tắt máy.
|
DispatchEvent
NL_DLL_EXPORT Error DispatchEvent( Layer & aLayer, void *aContext, Event aEvent )
Đây là dạng hook gửi thư / sự kiện dành riêng cho nền tảng.
Điều này có thể bị ghi đè bằng cách chú giải định nghĩa tiền xử lý, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS.
Thao tác này sẽ gửi sự kiện được chỉ định để xử lý, huỷ sắp xếp loại và đối số từ sự kiện để chuyển giao cho Layer::HandleEvent của hệ thống Weave để điều phối thực tế.
Thông tin chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Các tham số |
|
||||||||
Giá trị trả về |
|
DispatchEvents
NL_DLL_EXPORT Error DispatchEvents( Layer & aLayer, void *aContext )
Đây là dạng hook gửi thư / sự kiện dành riêng cho nền tảng.
Điều này có thể bị ghi đè bằng cách chú giải định nghĩa tiền xử lý, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS.
Thao tác này sẽ ảnh hưởng đến vòng lặp sự kiện, chờ một hàng đợi dịch vụ thực thể này, kéo các sự kiện ra khỏi hàng đợi đó rồi gửi chúng đi xử lý.
Thông tin chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Các tham số |
|
||||||||
Giá trị trả về |
|
GetClock_Monotonic
uint64_t GetClock_Monotonic( void )
Hàm dành riêng cho nền tảng để nhận thời gian hệ thống đơn điệu tính bằng micrô giây.
Hàm này dự kiến sẽ trả về thời gian đã trôi qua tính bằng micrô giây kể từ một thời gian bắt đầu của hệ thống tuỳ ý do nền tảng xác định. Quá trình triển khai nền tảng có nghĩa vụ trả về một giá trị không ngừng tăng (tức là không bao giờ đóng gói) giữa các lần khởi động lại hệ thống. Ngoài ra, nguồn thời gian cơ bản cần có để đánh dấu liên tục trong mọi chế độ ngủ của hệ thống không khởi động lại khi thức dậy.
Thời gian bắt đầu của thời gian mà hàm này trả về không bắt buộc phải giống với thời gian của mọi hàm GetClock... khác, bao gồm cả GetClock_MonotonicMS().
Hàm này dự kiến sẽ an toàn theo luồng trên mọi nền tảng sử dụng tính năng tạo luồng.
Thông tin chi tiết | |
---|---|
Trả về |
Thời gian đã trôi qua tính bằng micrô giây kể từ một thời gian bắt đầu của hệ thống tuỳ ý do nền tảng xác định.
|
GetClock_MonotonicHiRes
uint64_t GetClock_MonotonicHiRes( void )
Chức năng dành riêng cho nền tảng để nhận thời gian hệ thống đơn điệu có độ phân giải cao tính bằng micrô giây.
Hàm này dự kiến sẽ trả về thời gian đã trôi qua tính bằng micrô giây kể từ một thời gian bắt đầu của hệ thống tuỳ ý do nền tảng xác định. Các giá trị mà GetClock_MonotonicHiRes() trả về cần phải tăng dần (nghĩa là không bao giờ bao giờ). Tuy nhiên, bộ tính giờ cơ bản không bắt buộc phải đánh dấu liên tục trong trạng thái ngủ sâu của hệ thống.
Nền tảng nên triển khai GetClock_MonotonicHiRes() bằng cách sử dụng bộ tính giờ có độ phân giải cao không bị điều chỉnh xung nhịp dần dần (xoay). Trên các nền tảng không có bộ tính giờ như vậy, GetClock_MonotonicHiRes() có thể trả về cùng một giá trị như GetClock_Monotonic().
Thời gian bắt đầu của thời gian mà hàm này trả về không bắt buộc phải giống với thời gian của bất kỳ hàm GetClock... nào khác.
Hàm này dự kiến sẽ an toàn theo luồng trên mọi nền tảng sử dụng tính năng tạo luồng.
Thông tin chi tiết | |
---|---|
Trả về |
Thời gian đã trôi qua tính bằng micrô giây kể từ một thời gian bắt đầu của hệ thống tuỳ ý do nền tảng xác định.
|
GetClock_MonotonicMS
uint64_t GetClock_MonotonicMS( void )
Hàm dành riêng cho nền tảng để nhận thời gian hệ thống đơn điệu tính bằng mili giây.
Hàm này dự kiến sẽ trả về thời gian đã trôi qua tính bằng mili giây kể từ một khoảng thời gian bắt đầu của hệ thống tuỳ ý do nền tảng xác định. Quá trình triển khai nền tảng có nghĩa vụ trả về một giá trị không ngừng tăng (tức là không bao giờ đóng gói) giữa các lần khởi động lại hệ thống. Ngoài ra, nguồn thời gian cơ bản cần có để đánh dấu liên tục trong mọi chế độ ngủ của hệ thống không khởi động lại khi thức dậy.
Thời gian bắt đầu của thời gian mà hàm này trả về không bắt buộc phải giống với thời gian của bất kỳ hàm GetClock... nào khác, bao gồm cả GetClock_Monotonic().
Hàm này dự kiến sẽ an toàn theo luồng trên mọi nền tảng sử dụng tính năng tạo luồng.
Thông tin chi tiết | |
---|---|
Trả về |
Thời gian đã trôi qua tính bằng mili giây kể từ một khoảng thời gian bắt đầu của hệ thống tuỳ ý do nền tảng xác định.
|
GetClock_RealTime
Error GetClock_RealTime( uint64_t & curTime )
Chức năng dành riêng cho nền tảng để nhận thời gian thực (dân dụng) hiện tại ở định dạng thời gian Unix micrô giây.
Hàm này dự kiến sẽ trả về khái niệm thời gian thực hiện tại của nền tảng cục bộ, được biểu thị bằng giá trị thời gian Unix được chia tỷ lệ theo micrô giây. Đồng hồ cơ bản cần phải quay ở tốc độ ít nhất là toàn bộ giây (giá trị 1.000.000), nhưng có thể quay nhanh hơn.
Trên các nền tảng có khả năng theo dõi theo thời gian thực, GetClock_RealTime() phải trả về lỗi WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED bất cứ khi nào hệ thống không được đồng bộ hóa với thời gian thực.
Các nền tảng không có khả năng theo dõi theo thời gian thực không được triển khai hàm GetClock_RealTime(), do đó buộc các lỗi liên kết theo thời gian thực của các tính năng phụ thuộc vào quyền truy cập vào thời gian thực. Ngoài ra, các nền tảng như vậy có thể cung cấp phương thức triển khai GetClock_RealTime() trả về lỗi WEAVE_SYSTEM_ERROR_NOT_ id.
Hàm này dự kiến sẽ an toàn theo luồng trên mọi nền tảng sử dụng tính năng tạo luồng.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các tham số |
|
||||||
Giá trị trả về |
|
GetClock_RealTimeMS
Error GetClock_RealTimeMS( uint64_t & curTimeMS )
Chức năng dành riêng cho nền tảng để nhận thời gian thực (dân dụng) hiện tại ở định dạng thời gian Unix mili giây.
Hàm này dự kiến sẽ trả về khái niệm thời gian thực hiện tại của nền tảng cục bộ, được biểu thị dưới dạng giá trị thời gian Unix được chia tỷ lệ thành mili giây.
Xem tài liệu cho GetClock_RealTime() để biết chi tiết về hành vi dự kiến.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các tham số |
|
||||||
Giá trị trả về |
|
PostEvent
NL_DLL_EXPORT Error PostEvent( Layer & aLayer, void *aContext, Object & aTarget, EventType aType, uintptr_t aArgument )
Đây là nội dung hấp dẫn sau khi đăng tin nhắn / sự kiện dành riêng cho nền tảng.
Điều này có thể bị ghi đè bằng cách chú giải định nghĩa tiền xử lý, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS.
Thao tác này sẽ đăng một sự kiện / thông báo thuộc loại được chỉ định với đối số được cung cấp vào hàng đợi sự kiện / thông báo dành riêng cho nền tảng của phiên bản này.
Thông tin chi tiết | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Các tham số |
|
||||||||||
Trả về |
WEAVE_SYSTEM_NO_ERROR khi thành công; nếu không thì một lỗi cụ thể cho biết lý do khởi động không thành công.
|
SetClock_RealTime
Error SetClock_RealTime( uint64_t newCurTime )
Chức năng dành riêng cho nền tảng để đặt giờ thực hiện hiện tại (dân dụng).
Weave gọi hàm này để đặt khái niệm nền tảng cục bộ về thời gian thực hiện tại. Thời gian hiện tại mới được biểu thị bằng giá trị thời gian Unix được chia tỷ lệ theo micrô giây.
Sau khi được đặt, đồng hồ nền tảng cơ bản sẽ theo dõi thời gian thực với độ chi tiết ít nhất là nguyên giây.
Trên các nền tảng hỗ trợ theo dõi theo thời gian thực, hàm SetClock_RealTime() phải trả về lỗi WEAVE_SYSTEM_ERROR_ACCESS_DENIED nếu ứng dụng gọi không có đặc quyền đặt thời gian hiện tại.
Các nền tảng không có khả năng theo dõi theo thời gian thực hoặc không cung cấp khả năng cài đặt theo thời gian thực không được triển khai hàm SetClock_RealTime(), do đó buộc các tính năng phụ thuộc vào thiết lập thời gian thực không hoạt động được. Ngoài ra, các nền tảng như vậy có thể cung cấp phương thức triển khai SetClock_RealTime() trả về lỗi WEAVE_SYSTEM_ERROR_NOT_hàng.
Hàm này dự kiến sẽ an toàn theo luồng trên mọi nền tảng sử dụng tính năng tạo luồng.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các tham số |
|
||||||
Giá trị trả về |
|
StartTimer
NL_DLL_EXPORT Error StartTimer( Layer & aLayer, void *aContext, uint32_t aMilliseconds )
Đây là dạng hook gửi thư / sự kiện dành riêng cho nền tảng.
Điều này có thể bị ghi đè bằng cách chú giải định nghĩa tiền xử lý, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các tham số |
|
||||||
Giá trị trả về |
|
WillInit
NL_DLL_EXPORT Error WillInit( Layer & aLayer, void *aContext )
Đây là hook khởi động trước của Hệ thống Weave dành riêng cho nền tảng Layer (Lớp).
Bạn có thể ghi đè chính sách này bằng cách chú giải định nghĩa tiền xử lý, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các tham số |
|
||||
Trả về |
WEAVE_SYSTEM_NO_ERROR khi thành công; nếu không thì một lỗi cụ thể cho biết lý do khởi động không thành công. Việc trả về trạng thái không thành công sẽ huỷ quá trình khởi chạy.
|
WillShutdown
NL_DLL_EXPORT Error WillShutdown( Layer & aLayer, void *aContext )
Đây là hook trước khi tắt khẩn cấp của Hệ thống Weave dành riêng cho nền tảng Layer (Lớp).
Bạn có thể ghi đè chính sách này bằng cách chú giải định nghĩa tiền xử lý, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các tham số |
|
||||
Trả về |
WEAVE_SYSTEM_NO_ERROR khi thành công; nếu không thì một lỗi cụ thể cho biết lý do tắt không thành công. Nếu bạn trả lại trạng thái không thành công, việc này sẽ huỷ việc tắt máy.
|