Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.
Trang này được dịch bởi Cloud Translation API.
Switch to English

nl :: Dệt :: Hệ thống :: Lớp

#include <src/system/SystemLayer.h>

This provides access to timers according to the configured event handling model.

Tóm lược

Đối với WEAVE_SYSTEM_CONFIG_USE_SOCKETS , thông báo sẵn sàng cho sự kiện được xử lý thông qua triển khai thăm dò / chọn truyền thống trên nền tảng thích ứng.

Đối với WEAVE_SYSTEM_CONFIG_USE_LWIP , thông báo sẵn sàng cho sự kiện được xử lý thông qua các sự kiện / tin nhắn và các móc dành riêng cho nền tảng và hệ thống cho hệ thống sự kiện / tin nhắn.

Người xây dựng và Người phá hủy

Layer (void)

Các loại công khai

EventHandler )(Object &aTarget, EventType aEventType, uintptr_t aArgument) typedef
Error(*
TimerCompleteFunct )(Layer *aLayer, void *aAppState, Error aError) typedef
void(*

Chức năng công cộng

AddEventHandlerDelegate ( LwIPEventHandlerDelegate & aDelegate)
Error
Điều này thêm một ủy nhiệm xử lý sự kiện vào lớp hệ thống để mở rộng khả năng xử lý các sự kiện LwIP.
CancelTimer (TimerCompleteFunct aOnComplete, void *aAppState)
void
Phương thức này hủy hẹn giờ một lần, đã bắt đầu trước đó thông qua StartTimer() .
DispatchEvent (Event aEvent)
Error
Điều này gửi sự kiện được chỉ định để xử lý bởi trường hợp này.
DispatchEvents (void)
Error
Đây là một trình bao bọc cú pháp xung quanh một hook dành riêng cho nền tảng tác động đến một vòng lặp sự kiện, chờ đợi trên một hàng đợi phục vụ phiên bản này, kéo các sự kiện ra khỏi hàng đợi đó và sau đó gửi chúng để xử lý.
GetPlatformData (void) const
void *
Điều này trả về bất kỳ dữ liệu nền tảng dành riêng cho khách hàng nào được gán cho phiên bản, nếu nó đã được đặt trước đó.
HandleEvent ( Object & aTarget, EventType aEventType, uintptr_t aArgument)
Error
Điều này thực hiện việc gửi và xử lý thực tế sự kiện Lớp hệ thống dệt.
HandlePlatformTimer (void)
Error
Xử lý sự kiện hết hạn bộ hẹn giờ nền tảng.
HandleSelectResult (int aSetSize, fd_set *aReadSet, fd_set *aWriteSet, fd_set *aExceptionSet)
void
Xử lý I / O từ một cuộc gọi được chọn.
Init (void *aContext)
Error
NewTimer ( Timer *& aTimerPtr)
Error
PostEvent ( Object & aTarget, EventType aEventType, uintptr_t aArgument)
Error
Điều này đă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 dành riêng cho nền tảng của phiên bản này.
PrepareSelect (int & aSetSize, fd_set *aReadSet, fd_set *aWriteSet, fd_set *aExceptionSet, struct timeval & aSleepTime)
void
Chuẩn bị bộ mô tả tệp để select() làm việc với.
ScheduleWork (TimerCompleteFunct aComplete, void *aAppState)
Error
Lên lịch một chức năng có chữ ký giống với TimerCompleteFunct để chạy càng sớm càng tốt trên chuỗi Weave.
SetPlatformData (void *aPlatformData)
void
Điều này đặt dữ liệu nền tảng dành riêng cho máy khách được chỉ định thành phiên bản để nền tảng máy khách truy xuất sau.
Shutdown (void)
Error
StartTimer (uint32_t aMilliseconds, TimerCompleteFunct aComplete, void *aAppState)
Error
Phương pháp này bắt đầu hẹn giờ một lần chụp.
State (void) const
LayerState
Điều này trả về trạng thái hiện tại của đối tượng lớp.
WakeSelect (void)
void
Đánh thức luồng I / O giám sát các bộ mô tả tệp bằng select () bằng cách ghi một byte đơn vào đường ống đánh thức.

Chức năng tĩnh công khai

GetClock_Monotonic (void)
uint64_t
Trả về thời gian của hệ đơn điệu tính bằng đơn vị micro giây.
GetClock_MonotonicHiRes (void)
uint64_t
Trả về thời gian của hệ đơn điệu có độ phân giải cao (có khả năng) tính bằng đơn vị micro giây.
GetClock_MonotonicMS (void)
uint64_t
Trả về thời gian hệ đơn điệu tính bằng đơn vị mili giây.
GetClock_RealTime (uint64_t & curTime)
Error
Trả về thời gian thực (dân dụng) hiện tại ở định dạng thời gian Unix micro giây.
GetClock_RealTimeMS (uint64_t & curTimeMS)
Error
Trả về thời gian thực (dân dụng) hiện tại ở định dạng thời gian Unix mili giây.
SetClock_RealTime (uint64_t newCurTime)
Error
Đặt khái niệm cho nền tảng về thời gian thực (dân dụng) hiện tại.

Các loại công khai

Xử lý sự kiện

Error(* EventHandler)(Object &aTarget, EventType aEventType, uintptr_t aArgument)

TimerCompleteFunct

void(* TimerCompleteFunct)(Layer *aLayer, void *aAppState, Error aError)

Chức năng công cộng

AddEventHandlerDelegate

Error AddEventHandlerDelegate(
  LwIPEventHandlerDelegate & aDelegate
)

Điều này thêm một đại biểu trình xử lý sự kiện vào lớp hệ thống để mở rộng khả năng xử lý các sự kiện LwIP.

Chi tiết
Thông số
[in] aDelegate
Cấu trúc đại biểu trình xử lý sự kiện LwIP chưa được khởi tạo
Giá trị trả lại
WEAVE_SYSTEM_NO_ERROR
Về thành công.
WEAVE_SYSTEM_ERROR_BAD_ARGS
Nếu con trỏ hàm chứa trong aDelegate là NULL

CancelTimer

void CancelTimer(
  TimerCompleteFunct aOnComplete,
  void *aAppState
)

Phương thức này hủy hẹn giờ một lần, đã bắt đầu trước đó thông qua StartTimer() .

Chi tiết
Thông số
[in] aOnComplete
Một con trỏ đến hàm gọi lại được sử dụng để gọi StartTimer() .
[in] aAppState
Một con trỏ đến đối tượng trạng thái ứng dụng được sử dụng để gọi StartTimer() .

DispatchEvent

Error DispatchEvent(
  Event aEvent
)

Điều này gửi sự kiện được chỉ định để xử lý bởi trường hợp này.

Việc bỏ quản lý kiểu và các đối số từ sự kiện được xử lý bởi một hook dành riêng cho nền tảng, sau đó sẽ gọi lại Layer :: HandleEvent để gửi thực tế.

Chi tiết
Thông số
[in] aEvent
Đối tượng sự kiện dành riêng cho nền tảng cần gửi để xử lý.
Lợi nhuận
WEAVE_SYSTEM_NO_ERROR về thành công; nếu không, một lỗi cụ thể cho biết lý do khởi tạo không thành công.

DispatchEvents

Error DispatchEvents(
  void
)

Đây là một trình bao bọc cú pháp xung quanh một hook dành riêng cho nền tảng tác động đến một vòng lặp sự kiện, chờ đợi trên một hàng đợi phục vụ phiên bản này, kéo các sự kiện ra khỏi hàng đợi đó và sau đó gửi chúng để xử lý.

Chi tiết
Lợi nhuận
WEAVE_SYSTEM_NO_ERROR về thành công; nếu không, một lỗi cụ thể cho biết lý do khởi tạo không thành công.

GetPlatformData

void * GetPlatformData(
  void
) const 

Điều này trả về bất kỳ dữ liệu nền tảng dành riêng cho khách hàng nào được gán cho phiên bản, nếu nó đã được đặt trước đó.

Chi tiết
Lợi nhuận
Dữ liệu nền tảng dành riêng cho khách hàng, nếu đã được đặt trước đó; ngược lại, NULL.

HandleEvent

Error HandleEvent(
  Object & aTarget,
  EventType aEventType,
  uintptr_t aArgument
)

Điều này thực hiện việc gửi và xử lý thực tế sự kiện Lớp hệ thống dệt.

Chi tiết
Thông số
[in,out] aTarget
Tham chiếu đến đối tượng lớp mà sự kiện được nhắm mục tiêu.
[in] aEventType
Loại sự kiện / thông báo cần xử lý.
[in] aArgument
Đối số được liên kết với sự kiện / thông báo.
Giá trị trả lại
WEAVE_SYSTEM_NO_ERROR
Về thành công.
WEAVE_SYSTEM_ERROR_UNEXPECTED_STATE
Nếu trạng thái của đối tượng InetLayer không chính xác.
WEAVE_SYSTEM_ERROR_UNEXPECTED_EVENT
Nếu loại sự kiện không được công nhận.

HandlePlatformTimer

Error HandlePlatformTimer(
  void
)

Xử lý sự kiện hết hạn bộ hẹn giờ nền tảng.

Gọi nl :: Weave :: System :: Timer :: HandleExpiredTimers để xử lý mọi bộ hẹn giờ đã hết hạn. Giả định rằng API này chỉ được gọi khi ở trên luồng sở hữu đối tượng Lớp hệ thống Weave.

Chi tiết
Lợi nhuận
WEAVE_SYSTEM_NO_ERROR về thành công, mã lỗi nếu không.

HandleSelectResult

void HandleSelectResult(
  int aSetSize,
  fd_set *aReadSet,
  fd_set *aWriteSet,
  fd_set *aExceptionSet
)

Xử lý I / O từ một cuộc gọi được chọn.

Phương thức này đăng ký sự kiện I / O đang chờ xử lý trong mỗi điểm cuối hoạt động và sau đó gọi các chức năng xử lý I / O tương ứng cho các điểm cuối đó.

Chi tiết
Thông số
[in] aSetSize
Giá trị trả về của cuộc gọi đã chọn.
[in] aReadSet
Một con trỏ đến tập hợp các bộ mô tả tệp đã đọc.
[in] aWriteSet
Một con trỏ đến tập hợp các bộ mô tả tệp ghi.
[in] aExceptionSet
Một con trỏ đến tập hợp các bộ mô tả tệp có lỗi.

Trong đó

Error Init(
  void *aContext
)

Lớp

 Layer(
  void
)

NewTimer

Error NewTimer(
  Timer *& aTimerPtr
)

PostEvent

Error PostEvent(
  Object & aTarget,
  EventType aEventType,
  uintptr_t aArgument
)

Điều này đăng một sự kiện / thông báo của loại được chỉ định với đối số được cung cấp vào hàng đợi sự kiện dành riêng cho nền tảng của phiên bản này.

Chi tiết
Thông số
[in,out] aTarget
Một con trỏ đến đối tượng Lớp hệ thống Weave thực hiện yêu cầu đăng.
[in] aEventType
Loại sự kiện để đăng.
[in,out] aArgument
Đối số liên quan đến sự kiện để đăng.
Giá trị trả lại
WEAVE_SYSTEM_NO_ERROR
Về thành công.
WEAVE_SYSTEM_ERROR_UNEXPECTED_STATE
Nếu trạng thái của đối tượng Layer không chính xác.
WEAVE_SYSTEM_ERROR_NO_MEMORY
Nếu hàng đợi sự kiện đã đầy.
other
Đã tạo ra các lỗi cụ thể cho nền tảng cho biết lý do gây ra lỗi.

Chuẩn bị Chọn

void PrepareSelect(
  int & aSetSize,
  fd_set *aReadSet,
  fd_set *aWriteSet,
  fd_set *aExceptionSet,
  struct timeval & aSleepTime
)

Chuẩn bị bộ mô tả tệp để select() làm việc với.

Chi tiết
Thông số
[out] aSetSize
Phạm vi của bộ mô tả tệp trong bộ mô tả tệp.
[in] aReadSet
Một con trỏ đến tập hợp các bộ mô tả tệp có thể đọc được.
[in] aWriteSet
Một con trỏ đến tập hợp các bộ mô tả tệp có thể ghi.
[in] aExceptionSet
Một con trỏ đến tập hợp các bộ mô tả tệp có lỗi.
[in] aSleepTime
Tham chiếu đến thời gian ngủ tối đa.

ScheduleWork

Error ScheduleWork(
  TimerCompleteFunct aComplete,
  void *aAppState
)

Lên lịch một chức năng có chữ ký giống với TimerCompleteFunct để được chạy càng sớm càng tốt trên chuỗi Weave.

Chi tiết
Thông số
[in] aComplete
Một con trỏ đến một hàm gọi lại sẽ được gọi khi bộ hẹn giờ này kích hoạt.
[in] aAppState
Một con trỏ tới một đối tượng trạng thái ứng dụng sẽ được chuyển tới hàm gọi lại làm đối số.
Giá trị trả lại
WEAVE_SYSTEM_ERROR_UNEXPECTED_STATE
Nếu SystemLayer chưa được khởi tạo.
WEAVE_SYSTEM_ERROR_NO_MEMORY
Nếu SystemLayer không thể cấp phát bộ đếm thời gian mới.
WEAVE_SYSTEM_NO_ERROR
Về thành công.

SetPlatformData

void SetPlatformData(
  void *aPlatformData
)

Điều này đặt dữ liệu nền tảng dành riêng cho máy khách được chỉ định thành phiên bản để nền tảng máy khách truy xuất sau này.

Chi tiết
Thông số
[in] aPlatformData
Dữ liệu nền tảng dành riêng cho khách hàng cần đặt.

Tắt

Error Shutdown(
  void
)

StartTimer

Error StartTimer(
  uint32_t aMilliseconds,
  TimerCompleteFunct aComplete,
  void *aAppState
)

Phương pháp này bắt đầu hẹn giờ một lần chụp.

Chi tiết
Thông số
[in] aMilliseconds
Thời gian hết hạn tính bằng mili giây.
[in] aComplete
Một con trỏ đến hàm được gọi khi bộ hẹn giờ hết hạn.
[in] aAppState
Một con trỏ đến đối tượng trạng thái ứng dụng được sử dụng khi bộ hẹn giờ hết hạn.
Lợi nhuận
WEAVE_SYSTEM_NO_ERROR Thành công.
Lợi nhuận
WEAVE_SYSTEM_ERROR_NO_MEMORY Nếu không thể cấp phát bộ hẹn giờ.
Lợi nhuận
Không thể khởi động bộ đếm thời gian cho biết Giá trị khác

Tiểu bang

LayerState State(
  void
) const 

Điều này trả về trạng thái hiện tại của đối tượng lớp.

WakeSelect

void WakeSelect(
  void
)

Đánh thức luồng I / O giám sát các bộ mô tả tệp bằng select () bằng cách ghi một byte duy nhất vào đường ống đánh thức.

Lưu ý: Nếu WakeSelect() đang được gọi từ bên trong HandleSelectResult() , thì việc ghi vào đường ống đánh thức có thể bị bỏ qua, vì luồng I / O đã hoạt động. Hơn nữa, chúng tôi không quan tâm nếu việc ghi này không thành công vì lỗi duy nhất có khả năng xảy ra là đường ống đã đầy, trong trường hợp đó, chuỗi gọi được chọn sẽ thức dậy.

Chức năng tĩnh công khai

GetClock_Monotonic

uint64_t GetClock_Monotonic(
  void
)

Trả về thời gian của hệ đơn điệu tính bằng đơn vị micro giây.

Hàm này trả về thời gian đã trôi qua tính bằng micro giây kể từ một kỷ nguyên tùy ý, do nền tảng xác định. Giá trị được trả về được đảm bảo luôn tăng (tức là không bao giờ bị quấn) 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 đảm bảo đánh dấu liên tục trong bất kỳ chế độ ngủ nào của hệ thống mà không yêu cầu khởi động lại khi thức dậy.

Mặc dù một số nền tảng có thể chọn trả về giá trị đo thời gian kể từ khi khởi động cho hệ thống, các ứng dụng không được dựa vào điều này. Ngoài ra, kỷ nguyên cho GetClock_Monotonic () không bắt buộc phải giống kỷ nguyên cho bất kỳ hàm GetClock ... nào khác. Do đó các phép tính thời gian tương đối chỉ có thể được thực hiện trên các giá trị do cùng một hàm trả về.

Chức năng này được đảm bảo an toàn theo luồng trên bất kỳ nền tảng nào sử dụng phân luồng.

Chi tiết
Lợi nhuận
Thời gian đã trôi qua tính bằng micro giây kể từ một kỷ nguyên tùy ý, do nền tảng xác định.

GetClock_MonotonicHiRes

uint64_t GetClock_MonotonicHiRes(
  void
)

Trả về thời gian của hệ đơn điệu có độ phân giải cao (có khả năng) tính bằng đơn vị micro giây.

Hàm này trả về thời gian đã trôi qua tính bằng micro giây kể từ một kỷ nguyên tùy ý, do nền tảng xác định. Giá trị được trả về được đảm bảo luôn tăng (tức là không bao giờ bị quấn) giữa các lần khởi động lại hệ thống. Tuy nhiên, bộ hẹn giờ bên dưới 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.

Một số nền tảng có thể triển khai GetClock_MonotonicHiRes () bằng cách sử dụng bộ đếm thời gian có độ phân giải cao có độ chính xác cao hơn GetClock_Monotonic () và điều đó không phải điều chỉnh đồng hồ dần dần (quay vòng). Các hệ thống không có bộ đếm thời gian như vậy có thể chỉ trả về cùng một giá trị như GetClock_Monotonic () .

Kỷ nguyên thời gian được trả về bởi GetClock_MonotonicHiRes () không bắt buộc phải giống với bất kỳ hàm GetClock ... nào khác, bao gồm cả GetClock_Monotonic () .

Chức năng này được đảm bảo an toàn theo luồng trên bất kỳ nền tảng nào sử dụng phân luồng.

Chi tiết
Lợi nhuận
Thời gian đã trôi qua tính bằng micro giây kể từ một kỷ nguyên tùy ý, do nền tảng xác định.

GetClock_MonotonicMS

uint64_t GetClock_MonotonicMS(
  void
)

Trả về thời gian của hệ đơn điệu theo đơn vị mili giây.

Hàm này trả về thời gian đã trôi qua tính bằng mili giây kể từ một kỷ nguyên tùy ý, do nền tảng xác định. Giá trị được trả về được đảm bảo luôn tăng (tức là không bao giờ bao giờ) 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 đảm bảo đánh dấu liên tục trong bất kỳ chế độ ngủ nào của hệ thống mà không yêu cầu khởi động lại khi thức dậy.

Mặc dù một số nền tảng có thể chọn trả về giá trị đo thời gian kể từ khi khởi động cho hệ thống, các ứng dụng không được dựa vào điều này. Ngoài ra, kỷ nguyên cho GetClock_Monotonic () không bắt buộc phải giống kỷ nguyên cho bất kỳ hàm GetClock ... nào khác. Do đó các phép tính thời gian tương đối chỉ có thể được thực hiện trên các giá trị được trả về bởi cùng một hàm.

Chức năng này được đảm bảo an toàn theo luồng trên bất kỳ nền tảng nào sử dụng phân luồng.

Chi tiết
Lợi nhuận
Thời gian đã trôi qua tính bằng mili giây kể từ một kỷ nguyên tùy ý, do nền tảng xác định.

GetClock_RealTime

Error GetClock_RealTime(
  uint64_t & curTime
)

Trả về thời gian thực (dân dụng) hiện tại ở định dạng thời gian Unix micro giây.

Phương thức này 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ệ đến micro giây. Đồng hồ cơ bản được đảm bảo sẽ đánh dấu với tốc độ ít nhất là cả giây (giá trị 1.000.000), nhưng trên một số nền tảng có thể đánh dấu nhanh hơn.

Nếu nền tảng bên dưới có khả năng theo dõi thời gian thực, nhưng hệ thống hiện không được đồng bộ hóa, GetClock_RealTime () sẽ trả về lỗi WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED.

Trên các nền tảng không có khả năng theo dõi thời gian thực, phương thức GetClock_RealTime () có thể không có, dẫn đến lỗi liên kết cho bất kỳ ứng dụng nào tham chiếu đến nó. Ngoài ra, các nền tảng như vậy có thể cung cấp triển khai GetClock_RealTime () luôn trả về lỗi WEAVE_SYSTEM_ERROR_NOT_SUPPORTED.

Chức năng này được đảm bảo an toàn theo luồng trên bất kỳ nền tảng nào sử dụng phân luồng.

Chi tiết
Thông số
[out] curTime
Thời gian hiện tại, được biểu thị bằng thời gian Unix được chia tỷ lệ thành micro giây.
Giá trị trả lại
WEAVE_SYSTEM_NO_ERROR
Nếu phương pháp thành công.
#WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED
Nếu nền tảng có khả năng theo dõi thời gian thực, nhưng hiện không được đồng bộ hóa.
#WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
Nếu nền tảng không có khả năng theo dõi thời gian thực.

GetClock_RealTimeMS

Error GetClock_RealTimeMS(
  uint64_t & curTimeMS
)

Trả về thời gian thực (dân dụng) hiện tại ở định dạng thời gian Unix mili giây.

Phương thức này 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. Đồng hồ cơ bản được đảm bảo sẽ đánh dấu với tốc độ ít nhất là cả giây (giá trị 1.000.000), nhưng trên một số nền tảng có thể đánh dấu nhanh hơn.

Nếu nền tảng bên dưới có khả năng theo dõi thời gian thực, nhưng hệ thống hiện không được đồng bộ hóa, GetClock_RealTimeMS () sẽ trả về lỗi WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED.

Trên các nền tảng không có khả năng theo dõi thời gian thực, phương thức GetClock_RealTimeMS () có thể không có, dẫn đến lỗi liên kết cho bất kỳ ứng dụng nào tham chiếu đến nó. Ngoài ra, các nền tảng như vậy có thể cung cấp triển khai GetClock_RealTimeMS () luôn trả về lỗi WEAVE_SYSTEM_ERROR_NOT_SUPPORTED.

Chức năng này được đảm bảo an toàn theo luồng trên bất kỳ nền tảng nào sử dụng phân luồng.

Chi tiết
Thông số
[out] curTime
Thời gian hiện tại, được biểu thị bằng thời gian Unix được chia tỷ lệ thành mili giây.
Giá trị trả lại
WEAVE_SYSTEM_NO_ERROR
Nếu phương pháp thành công.
#WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED
Nếu nền tảng có khả năng theo dõi thời gian thực, nhưng hiện không được đồng bộ hóa.
#WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
Nếu nền tảng không có khả năng theo dõi thời gian thực.

SetClock_RealTime

Error SetClock_RealTime(
  uint64_t newCurTime
)

Đặt khái niệm cho nền tảng về thời gian thực (dân dụng) hiện tại.

Các ứng dụng có thể gọi hàm này để thiết lập khái niệm thời gian thực hiện tại của nền tảng cục bộ. Thời gian hiện tại mới được biểu thị dưới dạng giá trị thời gian Unix được chia tỷ lệ đến micro giây.

Sau khi được đặt, đồng hồ nền cơ bản được đảm bảo theo dõi thời gian thực với độ chi tiết ít nhất là toàn bộ giây.

Một số nền tảng có thể hạn chế ứng dụng hoặc quy trình nào có thể đặt thời gian thực. Nếu người gọi không được phép thay đổi thời gian thực, hàm SetClock_RealTime () sẽ trả về lỗi WEAVE_SYSTEM_ERROR_ACCESS_DENIED.

Trên các nền tảng không có khả năng theo dõi thời gian thực hoặc không cung cấp khả năng đặt thời gian thực, hàm SetClock_RealTime () có thể không có, dẫn đến lỗi liên kết cho bất kỳ ứng dụng nào tham chiếu đến nó. Ngoài ra, các nền tảng như vậy có thể cung cấp triển khai SetClock_RealTime () luôn trả về lỗi WEAVE_SYSTEM_ERROR_NOT_SUPPORTED.

Chức năng này được đảm bảo an toàn theo luồng trên bất kỳ nền tảng nào sử dụng phân luồng.

Chi tiết
Thông số
[in] newCurTime
Thời gian hiện tại mới, được biểu thị bằng thời gian Unix được chia tỷ lệ thành micro giây.
Giá trị trả lại
WEAVE_SYSTEM_NO_ERROR
Nếu phương pháp thành công.
#WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
Nếu nền tảng không có khả năng theo dõi thời gian thực.
#WEAVE_SYSTEM_ERROR_ACCESS_DENIED
Nếu ứng dụng gọi điện không có đặc quyền thiết lập thời gian hiện tại.