-/*----------------- Send -----------------*/
-
- command error_t AMSend.send[am_id_t id](am_addr_t addr, message_t* msg, uint8_t len)
- {
- error_t error;
-
- error = call Config.checkPacket(msg);
- if( error != SUCCESS )
- return error;
-
- call AMPacket.setSource(msg, call AMPacket.address());
- call AMPacket.setGroup(msg, call AMPacket.localGroup());
- call AMPacket.setType(msg, id);
- call AMPacket.setDestination(msg, addr);
-
- return call SubSend.send(msg, len);
- }
-
- inline event void SubSend.sendDone(message_t* msg, error_t error)
- {
- signal AMSend.sendDone[call AMPacket.type(msg)](msg, error);
- }
-
- inline command error_t AMSend.cancel[am_id_t id](message_t* msg)
- {
- return call SubSend.cancel(msg);
- }
-
- default event void AMSend.sendDone[am_id_t id](message_t* msg, error_t error)
- {
- }
-
- inline command uint8_t AMSend.maxPayloadLength[am_id_t id]()
- {
- return call SubSend.maxPayloadLength();
- }
-
- inline command void* AMSend.getPayload[am_id_t id](message_t* msg, uint8_t len)
- {
- return call SubSend.getPayload(msg, len);
- }
-
-/*----------------- Receive -----------------*/
-
- event message_t* SubReceive.receive(message_t* msg, void* payload, uint8_t len)
- {
- am_id_t type = call AMPacket.type(msg);
-
- msg = call AMPacket.isForMe(msg)
- ? signal Receive.receive[type](msg, payload, len)
- : signal Snoop.receive[type](msg, payload, len);
-
- return msg;
- }
-
- default event message_t* Receive.receive[am_id_t id](message_t* msg, void* payload, uint8_t len) {
- return signal ReceiveDefault.receive[id](msg, payload, len);
- }
-
- default event message_t* ReceiveDefault.receive[am_id_t id](message_t* msg, void* payload, uint8_t len) {
- return msg;
- }
-
- default event message_t* Snoop.receive[am_id_t id](message_t* msg, void* payload, uint8_t len) {
- return signal SnoopDefault.receive[id](msg, payload, len);
- }
-
- default event message_t* SnoopDefault.receive[am_id_t id](message_t* msg, void* payload, uint8_t len) {
- return msg;
- }
+ components ActiveMessageLayerP, ActiveMessageAddressC;
+ ActiveMessageLayerP.ActiveMessageAddress -> ActiveMessageAddressC;
+
+ AMPacket = ActiveMessageLayerP;
+ Packet = ActiveMessageLayerP;
+ AMSend = ActiveMessageLayerP;
+ Receive = ActiveMessageLayerP.Receive;
+ ReceiveDefault = ActiveMessageLayerP.ReceiveDefault;
+ Snoop = ActiveMessageLayerP.Snoop;
+ SnoopDefault = ActiveMessageLayerP.SnoopDefault;
+ SendNotifier = ActiveMessageLayerP;
+
+ SubPacket = ActiveMessageLayerP;
+ SubSend = ActiveMessageLayerP;
+ SubReceive = ActiveMessageLayerP;
+ Config = ActiveMessageLayerP;