pub struct App {
pub id: String,
pub version: String,
pub fingerprint: Option<String>,
pub cohort: Option<Cohort>,
pub update_check: Option<UpdateCheck>,
pub events: Vec<Event>,
pub ping: Option<Ping>,
pub extra_fields: HashMap<String, String>,
}
Expand description
Information about an individual app that an update check is being performed for.
While unlikely, it’s possible for a single request to have an update check, a ping, and for it to be reporting an event.
See https://github.com/google/omaha/blob/HEAD/doc/ServerProtocolV3.md#app-request
Fields§
§id: String
This is the GUID or product ID that uniquely identifies the product to Omaha.
This is the ‘appid’ attribute of the app object.
version: String
The version of the product that’s currently installed. This is in ‘A.B.C.D’ format.
This is the version attribute of the app object.
fingerprint: Option<String>
The fingerprint for the application.
This is the fp attribute of the app object.
cohort: Option<Cohort>
This is the cohort id, as previously assigned by the Omaha service. This is a machine- readable string, not meant for user display.
This holds the following fields of the app object: cohort cohorthint cohortname
update_check: Option<UpdateCheck>
If present, this request is an update check.
events: Vec<Event>
These are events to report to Omaha.
ping: Option<Ping>
An optional status ping.
extra_fields: HashMap<String, String>
Extra fields to include (App-specific fields used to extend the protocol).
§NOTE: Can break the omaha protocol if improperly used.
This is listed last in the struct, and should remain so, due to how Serde behaves when
flattening fields into the parent. If this map contains a field whose name matches that of
another field in the struct (such as id
), it will overwrite that field. If that field is
optionally serialized (such as update_check
), it will still overwrite that field
(regardless of the presence or not of the field it’s overwriting).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for App
impl RefUnwindSafe for App
impl Send for App
impl Sync for App
impl Unpin for App
impl UnwindSafe for App
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)