nl:: Weave:: System:: Platform:: Layer
Tóm tắt
Hàm |
|
---|---|
DidInit(Layer & aLayer, void *aContext, Error aStatus)
|
NL_DLL_EXPORT void
Đây là một hook sau khi khởi chạy hệ thống Weave Layer dành riêng cho nền tảng.
|
DidShutdown(Layer & aLayer, void *aContext, Error aStatus)
|
NL_DLL_EXPORT void
Đây là một hook đã tắt trước khi hệ thống Weave System Layer dành riêng cho nền tảng.
|
DispatchEvent(Layer & aLayer, void *aContext, Event aEvent)
|
NL_DLL_EXPORT Error
Đây là một nội dung hấp dẫn gửi tin nhắn / sự kiện dành riêng cho nền tảng.
|
DispatchEvents(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
Đây là một nội dung hấp dẫn gửi tin nhắn / 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 để lấy thời gian hệ thống đơn điệu tính bằng micrô giây.
|
GetClock_MonotonicHiRes(void)
|
uint64_t
Hàm dành riêng cho nền tảng để lấy 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 để lấy thời gian hệ thống đơn điệu tính bằng mili giây.
|
GetClock_RealTime(uint64_t & curTime)
|
Error
Hàm dành riêng cho nền tảng để lấy thời gian thực (dân sự) hiện tại ở định dạng thời gian Unix micrô giây.
|
GetClock_RealTimeMS(uint64_t & curTimeMS)
|
Error
Hàm dành riêng cho nền tảng để lấy thời gian thực (dân sự) 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à một nội dung hấp dẫn liên quan đến sự kiện / bài đăng tin nhắn dành riêng cho từng nền tảng.
|
SetClock_RealTime(uint64_t newCurTime)
|
Error
Hàm dành riêng cho nền tảng để đặt thời gian thực (dân sự) hiện tại.
|
StartTimer(Layer & aLayer, void *aContext, uint32_t aMilliseconds)
|
NL_DLL_EXPORT Error
Đây là một nội dung hấp dẫn gửi tin nhắn / sự kiện dành riêng cho nền tảng.
|
WillInit(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
Đây là một hook trước khi khởi chạy hệ thống Weave Layer dành riêng cho nền tảng.
|
WillShutdown(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
Đây là một hook đã tắt trước khi hệ thống Weave System Layer dành riêng cho nền tảng.
|
Hàm
DidInit
NL_DLL_EXPORT void DidInit( Layer & aLayer, void *aContext, Error aStatus )
Đây là một hook sau khi khởi chạy hệ thống Weave Layer dành riêng cho nền tảng.
Bạn có thể ghi đè giá trị này bằng cách thêm định nghĩa của bộ tiền xử lý, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS.
Chi tiết | |||||||
---|---|---|---|---|---|---|---|
Tham số |
|
DidShutdown
NL_DLL_EXPORT void DidShutdown( Layer & aLayer, void *aContext, Error aStatus )
Đây là một hook đã tắt trước khi hệ thống Weave System Layer dành riêng cho nền tảng.
Bạn có thể ghi đè giá trị này bằng cách thêm định nghĩa của bộ tiền xử lý, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS.
Chi tiết | |||||||
---|---|---|---|---|---|---|---|
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ông tắt được. Việc trả lại trạng thái không thành công sẽ huỷ quá trình tắt máy.
|
DispatchEvent
NL_DLL_EXPORT Error DispatchEvent( Layer & aLayer, void *aContext, Event aEvent )
Đây là một nội dung hấp dẫn gửi tin nhắn / sự kiện dành riêng cho nền tảng.
Bạn có thể ghi đè giá trị này bằng cách thêm định nghĩa của bộ 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ý, bỏ dữ liệu loại và đối số của sự kiện để chuyển giao đến Layer::HandleEvent của hệ thống Weave để gửi đi thực tế.
Chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Tham số |
|
||||||||
Giá trị trả về |
|
DispatchEvents
NL_DLL_EXPORT Error DispatchEvents( Layer & aLayer, void *aContext )
Đây là một nội dung hấp dẫn gửi tin nhắn / sự kiện dành riêng cho nền tảng.
Bạn có thể ghi đè giá trị này bằng cách thêm định nghĩa của bộ tiền xử lý, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS.
Điều này ảnh hưởng đến vòng lặp sự kiện, chờ một hàng đợi phục vụ thực thể này, kéo các sự kiện ra khỏi hàng đợi đó rồi gửi đi để xử lý.
Chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Tham số |
|
||||||||
Giá trị trả về |
|
GetClock_Monotonic
uint64_t GetClock_Monotonic( void )
Hàm dành riêng cho nền tảng để lấy 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ừ 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ờ 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 phải đánh dấu liên tục trong mọi chế độ ngủ của hệ thống không đòi hỏi phải khởi động lại khi thức dậy.
Thời gian bắt đầu của hệ thống cho 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 các hàm GetWatch khác, bao gồm cả GetWatch_MonotonicMS().
Hàm này dự kiến sẽ an toàn cho luồng trên bất kỳ nền tảng nào sử dụng luồng.
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 )
Hàm dành riêng cho nền tảng để lấy 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ừ thời gian bắt đầu của hệ thống tuỳ ý do nền tảng xác định. Các giá trị do GetWatch_MonotonicHiRes() trả về phải luôn tăng (tức là không bao giờ gói). Tuy nhiên, bộ tính giờ cơ bản không cần 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 GetWatch_MonotonicHiRes() bằng cách sử dụng một bộ tính giờ có độ phân giải cao mà không phải điều chỉnh đồng hồ dần dần (xoay vòng). Trên các nền tảng không có bộ tính giờ như vậy, GetWatch_MonotonicHiRes() có thể trả về cùng một giá trị như GetWatch_Monotonic().
Thời gian bắt đầu của hệ thống cho 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 các hàm GetWatch khác.
Hàm này dự kiến sẽ an toàn cho luồng trên bất kỳ nền tảng nào sử dụng luồng.
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 để lấy 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ừ 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ờ 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 phải đánh dấu liên tục trong mọi chế độ ngủ của hệ thống không đòi hỏi phải khởi động lại khi thức dậy.
Thời gian bắt đầu của hệ thống cho thời gian mà hàm này trả về không bắt buộc phải giống như thời gian bắt đầu của các hàm GetWatch khác..., bao gồm cả GetWatch_Monotonic().
Hàm này dự kiến sẽ an toàn cho luồng trên bất kỳ nền tảng nào sử dụng luồng.
Chi tiết | |
---|---|
Trả về |
Thời gian đã trôi qua tính bằng mili giây kể từ 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 )
Hàm dành riêng cho nền tảng để lấy thời gian thực (dân sự) 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 của nền tảng cục bộ về thời gian thực hiện tại, được biểu thị dưới dạng một giá trị thời gian Unix được điều chỉnh theo tỷ lệ micrô giây. Đồng hồ cơ bản cần phải tích tắc với tốc độ ít nhất là toàn bộ giây (giá trị 1.000.000), nhưng có thể tích tắc nhanh hơn.
Trên các nền tảng có khả năng theo dõi theo thời gian thực, GetWatch_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ộ hoá với thời gian thực.
Các nền tảng không thể theo dõi theo thời gian thực không được triển khai hàm GetWatch_RealTime(), do đó sẽ buộc các tính năng phụ thuộc vào quyền truy cập theo thời gian thực bị lỗi liên kết theo 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 GetWatch_RealTime() để trả về lỗi WEAVE_SYSTEM_ERROR_NOT_supported.
Hàm này dự kiến sẽ an toàn cho luồng trên bất kỳ nền tảng nào sử dụng luồng.
Chi tiết | |||||||
---|---|---|---|---|---|---|---|
Tham số |
|
||||||
Giá trị trả về |
|
GetClock_RealTimeMS
Error GetClock_RealTimeMS( uint64_t & curTimeMS )
Hàm dành riêng cho nền tảng để lấy thời gian thực (dân sự) 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 của nền tảng cục bộ về thời gian thực hiện tại, được biểu thị bằng một giá trị thời gian Unix được điều chỉnh theo tỷ lệ mili giây.
Hãy xem tài liệu về Getwatch_RealTime() để biết thông tin chi tiết về hành vi dự kiến.
Chi tiết | |||||||
---|---|---|---|---|---|---|---|
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à một nội dung hấp dẫn liên quan đến sự kiện / bài đăng tin nhắn dành riêng cho từng nền tảng.
Bạn có thể ghi đè giá trị này bằng cách thêm định nghĩa của bộ 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 cùng với đối số được cung cấp cho 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.
Chi tiết | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Tham số |
|
||||||||||
Trả về |
WEAVE_SYSTEM_NO_ERROR khi thành công; nếu không, một lỗi cụ thể cho biết lý do không khởi động được.
|
SetClock_RealTime
Error SetClock_RealTime( uint64_t newCurTime )
Hàm dành riêng cho nền tảng để đặt thời gian thực (dân sự) hiện tại.
Weave gọi hàm này để thiết lập khái niệm của 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ị dưới dạng giá trị thời gian Unix được điều chỉnh theo tỷ lệ micrô giây.
Sau khi được đặt, đồng hồ nền tảng cơ bản dự kiến sẽ theo dõi thời gian thực với độ chi tiết ít nhất là toàn bộ giây.
Trên các nền tảng hỗ trợ tính năng theo dõi theo thời gian thực, hàm SetWatch_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 thể theo dõi theo thời gian thực hoặc không cung cấp khả năng đặt thời gian thực không được triển khai hàm SetWatch_RealTime(), do đó buộc các tính năng phụ thuộc vào thời gian liên kết bị lỗi thời gian liên kết. Ngoài ra, các nền tảng đó có thể cung cấp phương thức triển khai SetWatch_RealTime() để trả về lỗi WEAVE_SYSTEM_ERROR_NOT_supported.
Hàm này dự kiến sẽ an toàn cho luồng trên bất kỳ nền tảng nào sử dụng luồng.
Chi tiết | |||||||
---|---|---|---|---|---|---|---|
Tham số |
|
||||||
Giá trị trả về |
|
StartTimer
NL_DLL_EXPORT Error StartTimer( Layer & aLayer, void *aContext, uint32_t aMilliseconds )
Đây là một nội dung hấp dẫn gửi tin nhắn / sự kiện dành riêng cho nền tảng.
Bạn có thể ghi đè giá trị này bằng cách thêm định nghĩa của bộ tiền xử lý, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS.
Chi tiết | |||||||
---|---|---|---|---|---|---|---|
Tham số |
|
||||||
Giá trị trả về |
|
WillInit
NL_DLL_EXPORT Error WillInit( Layer & aLayer, void *aContext )
Đây là một hook trước khi khởi chạy hệ thống Weave Layer dành riêng cho nền tảng.
Bạn có thể ghi đè giá trị này bằng cách thêm định nghĩa của bộ tiền xử lý, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS.
Chi tiết | |||||
---|---|---|---|---|---|
Tham số |
|
||||
Trả về |
WEAVE_SYSTEM_NO_ERROR khi thành công; nếu không, một lỗi cụ thể cho biết lý do không khởi động được. 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à một hook đã tắt trước khi hệ thống Weave System Layer dành riêng cho nền tảng.
Bạn có thể ghi đè giá trị này bằng cách thêm định nghĩa của bộ tiền xử lý, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS.
Chi tiết | |||||
---|---|---|---|---|---|
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ông tắt được. Việc trả lại trạng thái không thành công sẽ huỷ quá trình tắt máy.
|