nl::Weave::Profiles::SoftwareUpdate

เนมสเปซนี้มีอินเทอร์เฟซทั้งหมดภายใน Weave สำหรับโปรไฟล์การอัปเดตซอฟต์แวร์ของ Weave ซึ่งประกอบด้วยโปรโตคอลที่เกี่ยวข้องซึ่งมีชื่อเดียวกัน

สรุป

การแจกแจง

@309{
  kMsgType_ImageAnnounce = 0,
  kMsgType_ImageQuery = 1,
  kMsgType_ImageQueryResponse = 2,
  kMsgType_DownloadNotify = 3,
  kMsgType_NotifyResponse = 4,
  kMsgType_UpdateNotify = 5,
  kMsgType_ImageQueryStatus = 6
}
enum
ประเภทข้อความ SoftwareUpdate
@310{
  kStatus_NoUpdateAvailable = 0x0001,
  kStatus_UpdateFailed = 0x0010,
  kStatus_InvalidInstructions = 0x0050,
  kStatus_DownloadFailed = 0x0051,
  kStatus_IntegrityCheckFailed = 0x0052,
  kStatus_Abort = 0x0053,
  kStatus_Retry = 0x0091
}
enum
@311{
  kFlag_PackageSpecPresent = 1,
  kFlag_LocaleSpecPresent = 2,
  kFlag_TargetNodeIdPresent = 4
}
enum
แฟล็กควบคุมสำหรับช่องควบคุมของเฟรม ImageQuery
@312 enum
Bitmask สำหรับช่องตัวเลือกการอัปเดตที่ไม่บังคับของ ImageQueryResponse
@313 enum
ออฟเซ็ต Shift สำหรับช่องตัวเลือกการอัปเดตที่ไม่บังคับของ ImageQueryResponse
@314{
  kIntegrityType_SHA160 = 0,
  kIntegrityType_SHA256 = 1,
  kIntegrityType_SHA512 = 2,
  kIntegrityType_Last = 3
}
enum
@315 enum
ความยาวเป็นไบต์สำหรับข้อมูลจำเพาะด้านความสมบูรณ์ของสตริงไบต์
@316{
  kUpdateScheme_HTTP = 0,
  kUpdateScheme_HTTPS = 1,
  kUpdateScheme_SFTP = 2,
  kUpdateScheme_BDX = 3,
  kUpdateScheme_Last = 4
}
enum
@317 enum
แท็กองค์ประกอบข้อมูลสำหรับโปรไฟล์ SoftwareUpdate
UpdateCondition{
  IfUnmatched,
  IfLater,
  Unconditionally,
  OnOptIn
}
enum
เงื่อนไขที่ควบคุมนโยบายการอัปเดต
UpdatePriority{
  Normal,
  Critical
}
enum
อัปเดตลำดับความสำคัญ

ฟังก์ชัน

integrityLength(uint8_t aType)
int
วิธีการสนับสนุนที่แมปค่า IntegrityTypes เข้ากับความยาวของแฮชประเภทนั้น

คลาส

nl::Weave::Profiles::SoftwareUpdate::IWeaveImageAnnounceServerDelegate

อินเทอร์เฟซสำหรับผู้รับมอบสิทธิ์ WeaveImageAnnounceServer

nl::Weave::Profiles::SoftwareUpdate::ImageAnnounce

ชั้นเรียนที่อธิบายข้อความ ImageAnnounce

nl::Weave::Profiles::SoftwareUpdate::ImageQuery

คลาสสำหรับสนับสนุนการสร้างและการถอดรหัสข้อความข้อความค้นหารูปภาพ

nl::Weave::Profiles::SoftwareUpdate::ImageQueryResponse

คลาสสำหรับสนับสนุนการสร้างและการถอดรหัสข้อความตอบกลับการค้นหารูปภาพ

nl::Weave::Profiles::SoftwareUpdate::IntegritySpec

คลาสเสริมที่มีประเภทความสมบูรณ์และแฮชจริงของอิมเมจการอัปเดตซอฟต์แวร์

nl::Weave::Profiles::SoftwareUpdate::IntegrityTypeList

คลาสเสริมสำหรับเก็บรายการประเภทความสมบูรณ์เป็นส่วนหนึ่งของการค้นหารูปภาพ

nl::Weave::Profiles::SoftwareUpdate::ProductSpec

คลาสเสริมที่แสดงข้อมูลจำเพาะของผลิตภัณฑ์

nl::Weave::Profiles::SoftwareUpdate::UpdateSchemeList

คลาสเสริมสำหรับเก็บรายการรูปแบบการอัปเดตเป็นส่วนหนึ่งของการค้นหารูปภาพ

nl::Weave::Profiles::SoftwareUpdate::WeaveImageAnnounceServer

เซิร์ฟเวอร์ที่ฟังการประกาศรูปภาพของ Weave

การแจกแจง

@309

 @309

ประเภทข้อความ SoftwareUpdate

พร็อพเพอร์ตี้
kMsgType_DownloadNotify

ข้อความที่ไม่บังคับจากไคลเอ็นต์ไปยังเซิร์ฟเวอร์ที่ใช้เพื่อแจ้งเซิร์ฟเวอร์เกี่ยวกับสถานะการดาวน์โหลด

เพย์โหลดต้องเป็น nl::Weave::Profiles::StatusReporting::StatusReport โดยมีข้อมูลสถานะเพิ่มเติมที่มาจาก SoftwareUpdateStatusCodes

kMsgType_ImageAnnounce

ข้อความไม่พึงประสงค์ที่จะระบุหรือไม่ก็ได้ ซึ่งเซิร์ฟเวอร์จะใช้เพื่อประกาศความพร้อมให้บริการของการอัปเดตซอฟต์แวร์

ข้อความนี้ไม่มีเพย์โหลด

kMsgType_ImageQuery

ข้อความการค้นหาที่ไคลเอ็นต์ส่งไปยังเซิร์ฟเวอร์

โดยรูปแบบจะกำหนดด้วยคลาส ImageQuery

kMsgType_ImageQueryResponse

ข้อความที่สร้างขึ้นเพื่อตอบกลับข้อความค้นหารูปภาพที่สําเร็จ

รูปแบบจะกำหนดโดยคลาส ImageQueryResponse

kMsgType_ImageQueryStatus

ข้อความที่สร้างขึ้นเพื่อตอบกลับข้อความการค้นหารูปภาพที่ล้มเหลว

เพย์โหลดต้องเป็น nl::Weave::Profiles::StatusReporting::StatusReport โดยมีข้อมูลสถานะเพิ่มเติมที่มาจาก SoftwareUpdateStatusCodes

kMsgType_NotifyResponse

ข้อความที่สร้างขึ้นเพื่อตอบกลับข้อความแจ้งเตือนการดาวน์โหลด

เพย์โหลดต้องเป็น nl::Weave::Profiles::StatusReporting::StatusReport โดยมีข้อมูลสถานะเพิ่มเติมที่มาจาก SoftwareUpdateStatusCodes

kMsgType_UpdateNotify

ข้อความที่ไม่บังคับจากไคลเอ็นต์ไปยังเซิร์ฟเวอร์ซึ่งใช้ในการสื่อสารสถานะสุดท้ายของการอัปเดต

เพย์โหลดต้องเป็น nl::Weave::Profiles::StatusReporting::StatusReport โดยมีข้อมูลสถานะเพิ่มเติมที่มาจาก SoftwareUpdateStatusCodes เนื่องจากคาดว่าข้อความนี้จะสร้างขึ้นหลังการอัปเดตจริง ข้อความจึงถูกส่งไปยัง ExchangeContext ใหม่ และจะถือว่าเป็นข้อความที่ไม่พึงประสงค์บนเซิร์ฟเวอร์

@310

 @310

รหัสสถานะเฉพาะโปรไฟล์ SoftwareUpdate

พร็อพเพอร์ตี้
kStatus_Abort

เซิร์ฟเวอร์ => ไคลเอ็นต์ ระบุว่าไคลเอ็นต์ควรยกเลิกการเชื่อมต่อเนื่องจากเซิร์ฟเวอร์ไม่มีตัวเลือก

kStatus_DownloadFailed

เซิร์ฟเวอร์ client => ระบุว่าการพยายามดาวน์โหลดล้มเหลว

kStatus_IntegrityCheckFailed

เซิร์ฟเวอร์ client => ระบุว่ามีการดาวน์โหลดอิมเมจแต่ไม่ผ่านการตรวจสอบความสมบูรณ์ในลำดับต่อมา

kStatus_InvalidInstructions

เซิร์ฟเวอร์ client => ระบุว่าไคลเอ็นต์ไม่สามารถดาวน์โหลดรูปภาพได้เนื่องจากคำแนะนำในการดาวน์โหลดที่มีอยู่ใน ImageQueryResponse กล่าวคือ

URI, รูปแบบการอัปเดต, เงื่อนไขการอัปเดต มีรูปแบบไม่ถูกต้องหรือไม่สอดคล้องกัน

kStatus_NoUpdateAvailable

เซิร์ฟเวอร์ => ระบุว่าได้รับและเข้าใจการค้นหารูปภาพแล้ว และเซิร์ฟเวอร์ไม่มีการอัปเดตสำหรับไคลเอ็นต์นี้ในขณะนี้

kStatus_Retry

เซิร์ฟเวอร์ => ไคลเอ็นต์ ระบุว่าไคลเอ็นต์ควรส่งการค้นหารูปภาพอีกครั้ง และรีสตาร์ท/อัปเดตต่อไป

kStatus_UpdateFailed

เซิร์ฟเวอร์ client => ระบุว่าความพยายามติดตั้งอิมเมจที่เซิร์ฟเวอร์ระบุไว้ล้มเหลว

@311

 @311

แฟล็กควบคุมสำหรับช่องควบคุมของเฟรม ImageQuery

พร็อพเพอร์ตี้
kFlag_LocaleSpecPresent

ข้อกําหนด Locale จะแสดงใน ImageQuery

kFlag_PackageSpecPresent

ข้อมูลจำเพาะของแพ็กเกจแสดงอยู่ใน ImageQuery

kFlag_TargetNodeIdPresent

รหัสโหนดเป้าหมายจะปรากฏใน ImageQuery

@312

 @312

Bitmask สำหรับช่องตัวเลือกการอัปเดตที่ไม่บังคับของ ImageQueryResponse

@313

 @313

ออฟเซ็ต Shift สำหรับช่องตัวเลือกการอัปเดตที่ไม่บังคับของ ImageQueryResponse

@314

 @314

ประเภทความสมบูรณ์ที่โปรไฟล์ SoftwareUpdate รองรับ

เฟรมข้อความค้นหารูปภาพประกอบด้วยข้อมูลเกี่ยวกับการตรวจสอบความสมบูรณ์ที่ไคลเอ็นต์รองรับ และคำตอบสำหรับข้อความค้นหารูปภาพจะมีประเภทและค่าของรูปภาพที่ระบบแจ้งให้ไคลเอ็นต์ดาวน์โหลดและติดตั้ง ประเภทที่รองรับมีดังนี้

พร็อพเพอร์ตี้
kIntegrityType_Last

จำนวนอีลิเมนต์ที่ถูกต้องในการแจกแจง

kIntegrityType_SHA160

ต้องมีแฮช Secure 160 บิต (SHA-1)

kIntegrityType_SHA256

แฮชที่ปลอดภัย 256 บิต (SHA-2)

kIntegrityType_SHA512

512 บิต, Secure Hash (SHA-2)

@315

 @315

ความยาวเป็นไบต์สำหรับข้อมูลจำเพาะด้านความสมบูรณ์ของสตริงไบต์

@316

 @316

อัปเดตรูปแบบที่โปรไฟล์ SofwareUpdate รองรับ

เช่นเดียวกับประเภทความสมบูรณ์ที่รองรับ การค้นหารูปภาพจะมีข้อมูลเกี่ยวกับรูปแบบการอัปเดต เช่น โปรโตคอลการดาวน์โหลด ไคลเอ็นต์ที่รองรับ และการตอบกลับมีค่าสำหรับการระบุรูปแบบการอัปเดตที่จะใช้ในการดาวน์โหลดรูปภาพ รูปแบบที่รองรับมีดังนี้

พร็อพเพอร์ตี้
kUpdateScheme_BDX

ต้องใช้การโอนข้อมูลจำนวนมากแบบ Weave เป็นโปรโตคอลการดาวน์โหลด

kUpdateScheme_HTTP

ต้องใช้ HTTP เป็นโปรโตคอลการดาวน์โหลด

kUpdateScheme_HTTPS

ต้องใช้ HTTPS เป็นโปรโตคอลการดาวน์โหลด

kUpdateScheme_Last

จำนวนอีลิเมนต์ที่ถูกต้องในการแจกแจง

kUpdateScheme_SFTP

ต้องใช้ SFTP เป็นโปรโตคอลการดาวน์โหลด

@317

 @317

แท็กองค์ประกอบข้อมูลสำหรับโปรไฟล์ SoftwareUpdate

UpdateCondition

 UpdateCondition

เงื่อนไขที่ควบคุมนโยบายการอัปเดต

พร็อพเพอร์ตี้
IfLater

ดาวน์โหลดและติดตั้งรูปภาพหากข้อกำหนดเวอร์ชันในเฟรมการตอบสนองต่ำกว่าเวอร์ชันของซอฟต์แวร์ที่ติดตั้งอยู่ในปัจจุบัน

IfUnmatched

ดาวน์โหลดและติดตั้งรูปภาพหากข้อกำหนดเวอร์ชันในเฟรมการตอบสนองไม่ตรงกับเวอร์ชันของซอฟต์แวร์ที่ติดตั้งอยู่ในปัจจุบัน

OnOptIn

ดาวน์โหลดและติดตั้งรูปภาพในทริกเกอร์บางรายการที่ได้จากผู้ใช้ในเว็บไซต์

Unconditionally

ดาวน์โหลดและติดตั้งอิมเมจโดยไม่คำนึงถึงเวอร์ชันซอฟต์แวร์ที่ใช้งานอยู่

UpdatePriority

 UpdatePriority

อัปเดตลำดับความสำคัญ

พร็อพเพอร์ตี้
Critical

ต้องดำเนินการอัปเดตทันที

Normal

การอัปเดตอาจดำเนินการภายใต้การพิจารณาตามที่เห็นสมควรของลูกค้า

ฟังก์ชัน

integrityLength

int integrityLength(
  uint8_t aType
)

วิธีการสนับสนุนที่แมปค่า IntegrityTypes เข้ากับความยาวของแฮชประเภทนั้น

รายละเอียด
พารามิเตอร์
[in] aType
ค่า IntegrityTypes
การส่งคืน
ความยาวของแฮชของประเภทแฮชที่ระบุ