Add general-use-and-purpose comment for Device interface. Change-Id: Id6c24bb037790e1d8fd328225b84e036fe70179e Reviewed-on: https://weave-review.googlesource.com/2860 Reviewed-by: Alex Vakulenko <avakulenko@google.com>
diff --git a/include/weave/device.h b/include/weave/device.h index b79e6a3..5d455de 100644 --- a/include/weave/device.h +++ b/include/weave/device.h
@@ -23,6 +23,25 @@ namespace weave { +// This interface defines interactions with a Weave device. Implemented in +// weave::DeviceManager. The general use of this class is to: +// - Define the traits for the Weave schema the device is +// interested in using the AddTraitDefinitions() and +// AddTraitDefinitionsFromJson() functions. +// - Define the components for the Weave schema the device is +// interested in using the AddComponent() function. +// - Set the initial/default values of "state" portions of the schema using +// the SetStatePropertiesFromJson() and SetStateProperties() functions. +// - Specify callback functions when a command (defined in the Weave schema) +// is received by the device using the AddCommandHandler() function. +// +// A daemon will typically create one instance of a class implementing +// Device and will retain it for the life of the daemon using the Create() +// function. +// +// For detailed examples of the usage of this class, see the examples/daemon +// directory. + // States of Gcd connection. enum class GcdState { kUnconfigured, // Device was not registered.