HAN-FUN API  1.5.3
This project provides the common implementation of ULE Alliance's HAN-FUN application protocol.
HF::Profiles::Profile2< _uid, Interface1, Interface2 > Struct Template Reference

Class template for profiles containing two interfaces. More...

#include <profiles.h>

+ Inheritance diagram for HF::Profiles::Profile2< _uid, Interface1, Interface2 >:
+ Collaboration diagram for HF::Profiles::Profile2< _uid, Interface1, Interface2 >:

Public Member Functions

Interface1 * first ()
 Pointer to the first interface instance. More...
 
Interface2 * second ()
 Pointer to the second interface instance. More...
 
const Interface1 * first () const
 Pointer to the first interface instance. More...
 
const Interface2 * second () const
 Pointer to the second interface instance. More...
 
- Public Member Functions inherited from HF::Profiles::ProfileN< _uid, Interface1, Interface2 >
Common::Result handle (Protocol::Packet &packet, Common::ByteArray &payload, uint16_t offset)
 Handle incoming messages from the network. More...
 
virtual void send (const Protocol::Address &addr, Protocol::Message &message)=0
 Send message msg to the network address given by addr. More...
 
virtual void notify (const HF::Attributes::IAttribute &old_value, const HF::Attributes::IAttribute &new_value) const=0
 Notify that an attribute value as changed. More...
 
HF::Attributes::List attributes (Common::Interface itf, uint8_t pack_id, const HF::Attributes::UIDS &uids) const
 Return a list of all the attributes for a given interface, pack id and list of attributes UID's. More...
 
- Public Member Functions inherited from HF::Profiles::AbstractProfile< _uid >
uint16_t uid () const
 Return this profile HAN-FUN UID. More...
 
Common::Result handle (Protocol::Packet &packet, Common::ByteArray &payload, uint16_t offset)
 Handle incoming messages from the network. More...
 
- Public Member Functions inherited from HF::Interfaces::Container< ProfileN< _uid, _Interfaces... >, HF::Interfaces::Proxy< _Interfaces, ProfileN< _uid, _Interfaces... > >... >
 Container (ProfileN< _uid, _Interfaces... > &base)
 Constructor. More...
 
Common::Result handle (Protocol::Packet &packet, Common::ByteArray &payload, uint16_t offset)
 Handle incoming messages from the network. More...
 
void attributes (HF::Attributes::List &attr_list, Common::Interface itf, uint8_t pack_id, const HF::Attributes::UIDS &uids) const
 Return a list of all the attributes for a given interface, pack id and list of attributes UID's. More...
 
std::vector< Common::Interfaceinterfaces () const
 Return the list of interfaces present in the wrapper. More...
 
const std::tuple_element< N, interfaces_t >::type::base * get () const
 Retrieve a pointer to the N optional interface implemented by this unit. More...
 

Additional Inherited Members

- Protected Member Functions inherited from HF::Interfaces::Container< ProfileN< _uid, _Interfaces... >, HF::Interfaces::Proxy< _Interfaces, ProfileN< _uid, _Interfaces... > >... >
void for_each (std::function< void(HF::Interface &)> func) const
 Call the given function for all the interfaces. More...
 
void for_each (std::function< void(HF::Interface &)> func)
 Call the given function for all the interfaces. More...
 
void for_each (std::function< void(HF::Interface &)> func) const
 Helper template function to implement the HF::Units::Unit::for_each functionality. More...
 
void for_each (std::function< void(HF::Interface &)> func) const
 Helper template function to implement the HF::Units::Unit::for_each functionality. More...
 
HF::Interfacefind (uint16_t itf_uid) const
 Find the interface with the given UID. More...
 
HF::Interfacefind (uint16_t itf_uid) const
 Final template instantiation that finds the wrapped interface with the given UID. More...
 
void attributes_itf (HF::Attributes::List &attrs, Common::Interface itf, uint8_t pack_id, const HF::Attributes::UIDS &uids) const
 Helper function used to provide HF::Units::Unit::attributes functionality. More...
 
void attributes_itf (HF::Attributes::List &attrs, Common::Interface itf, uint8_t pack_id, const HF::Attributes::UIDS &uids) const
 Helper function used to provide HF::Units::Unit::attributes functionality. More...
 

Detailed Description

template<uint16_t _uid, typename Interface1, typename Interface2>
struct HF::Profiles::Profile2< _uid, Interface1, Interface2 >

Class template for profiles containing two interfaces.

Definition at line 384 of file profiles.h.

Member Function Documentation

◆ first() [1/2]

template<uint16_t _uid, typename Interface1, typename Interface2>
Interface1* HF::Profiles::Profile2< _uid, Interface1, Interface2 >::first ( )
inline

Pointer to the first interface instance.

Returns
pointer to the interface instance.

Definition at line 398 of file profiles.h.

399  {
400  return const_cast<Interface1 *>(profile_t::template get<0>());
401  }

◆ first() [2/2]

template<uint16_t _uid, typename Interface1, typename Interface2>
const Interface1* HF::Profiles::Profile2< _uid, Interface1, Interface2 >::first ( ) const
inline

Pointer to the first interface instance.

Returns
pointer to the interface instance.

Definition at line 418 of file profiles.h.

419  {
420  return const_cast<Interface1 *>(profile_t::template get<0>());
421  }

◆ second() [1/2]

template<uint16_t _uid, typename Interface1, typename Interface2>
Interface2* HF::Profiles::Profile2< _uid, Interface1, Interface2 >::second ( )
inline

Pointer to the second interface instance.

Returns
pointer to the interface instance.

Definition at line 408 of file profiles.h.

409  {
410  return const_cast<Interface2 *>(profile_t::template get<1>());
411  }

◆ second() [2/2]

template<uint16_t _uid, typename Interface1, typename Interface2>
const Interface2* HF::Profiles::Profile2< _uid, Interface1, Interface2 >::second ( ) const
inline

Pointer to the second interface instance.

Returns
pointer to the interface instance.

Definition at line 428 of file profiles.h.

429  {
430  return const_cast<Interface2 *>(profile_t::template get<1>());
431  }

The documentation for this struct was generated from the following file: