diff --git a/src/version.rs b/src/version.rs
index 1265c162..c6258921 100644
--- a/src/version.rs
+++ b/src/version.rs
@@ -4,19 +4,39 @@
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#![deny(missing_docs)]
+
use iq::{IqGetPayload, IqResultPayload};
+generate_empty_element!(
+ /// Represents a query for the software version a remote entity is using.
+ ///
+ /// It should only be used in an ``, as it can only
+ /// represent the request, and not a result.
+ VersionQuery, "query", VERSION
+);
+
+impl IqGetPayload for VersionQuery {}
+
generate_element!(
- Version, "query", VERSION,
+ /// Represents the answer about the software version we are using.
+ ///
+ /// It should only be used in an ``, as it can only
+ /// represent the result, and not a request.
+ VersionResult, "query", VERSION,
children: [
+ /// The name of this client.
name: Required = ("name", VERSION) => String,
+
+ /// The version of this client.
version: Required = ("version", VERSION) => String,
+
+ /// The OS this client is running on.
os: Option = ("os", VERSION) => String
]
);
-impl IqGetPayload for Version {}
-impl IqResultPayload for Version {}
+impl IqResultPayload for VersionResult {}
#[cfg(test)]
mod tests {