diff options
author | Juergen Haug | 2015-12-23 11:35:03 +0000 |
---|---|---|
committer | Juergen Haug | 2016-02-28 17:01:11 +0000 |
commit | 81750c5e633ad14e7ab25b016564af20fec0a1cc (patch) | |
tree | 951ca972625f09ffee924496591e97d927a74f0d /runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase | |
parent | dc98de4bb145d8d3789909e32c11765596165fbb (diff) | |
download | org.eclipse.etrice-81750c5e633ad14e7ab25b016564af20fec0a1cc.tar.gz org.eclipse.etrice-81750c5e633ad14e7ab25b016564af20fec0a1cc.tar.xz org.eclipse.etrice-81750c5e633ad14e7ab25b016564af20fec0a1cc.zip |
[generators] added cpp generator draft
Change-Id: I4466d25800a35a869a2911485d36494f86089121
Diffstat (limited to 'runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase')
2 files changed, 44 insertions, 43 deletions
diff --git a/runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase/InterfaceItemBase.java b/runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase/InterfaceItemBase.java index df4441621..89d03c66d 100644 --- a/runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase/InterfaceItemBase.java +++ b/runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase/InterfaceItemBase.java @@ -18,11 +18,11 @@ import org.eclipse.etrice.runtime.java.messaging.RTServices; /** * The abstract base class for actor class interface items like {@link PortBase} * and {@link InterfaceItemBroker}s. - * + * * @author Henrik Rentz-Reichert */ public abstract class InterfaceItemBase extends AbstractMessageReceiver implements IInterfaceItem { - + /** * If this is part of an {@link IReplicatedInterfaceItem} then the * owner of this item is stored in this field. @@ -30,18 +30,18 @@ public abstract class InterfaceItemBase extends AbstractMessageReceiver implemen * disconnected then it is also removed from its parent and destroyed. */ private IReplicatedInterfaceItem replicator = null; - - protected IMessageService ownMsgReceiver; - protected IMessageReceiver peerMsgReceiver; + + private IMessageService ownMsgReceiver; + private IMessageReceiver peerMsgReceiver; private int localId; private int idx; - protected Address peerAddress = null; + private Address peerAddress = null; private IInterfaceItem peer; /** * The constructor determines the thread of its {@link IEventReceiver} - * + * * @param owner * @param name * @param localId @@ -49,20 +49,20 @@ public abstract class InterfaceItemBase extends AbstractMessageReceiver implemen */ public InterfaceItemBase (IInterfaceItemOwner owner, String name, int localId, int idx) { super(owner.getEventReceiver(), name); - + this.localId = localId; this.idx = idx; - + if (owner instanceof IReplicatedInterfaceItem) replicator = (IReplicatedInterfaceItem) owner; - + int thread = owner.getEventReceiver().getThread(); if (thread>=0) { IMessageService msgSvc = RTServices.getInstance().getMsgSvcCtrl().getMsgSvc(thread); Address addr = msgSvc.getFreeAddress(); setAddress(addr); msgSvc.addMessageReceiver(this); - + this.ownMsgReceiver = msgSvc; } } @@ -70,30 +70,30 @@ public abstract class InterfaceItemBase extends AbstractMessageReceiver implemen public synchronized IInterfaceItem connectWith(IInterfaceItem peer) { if (peer!=null) { this.peer = peer; - + if (peer instanceof IInterfaceItemBroker) { this.peer = peer.connectWith(this); return this.peer; } - + if (peer instanceof IReplicatedInterfaceItem) peer = ((IReplicatedInterfaceItem) peer).createSubInterfaceItem(); - + if (peer instanceof InterfaceItemBase) { InterfaceItemBase thePeer = (InterfaceItemBase) peer; - + // connect with each other peerAddress = thePeer.getAddress(); thePeer.peerAddress = getAddress(); this.peerMsgReceiver = thePeer.ownMsgReceiver; thePeer.peerMsgReceiver = ownMsgReceiver; } - + } - + return peer; } - + protected synchronized void disconnect() { disconnectInternal(); if (peer!=null) { @@ -106,11 +106,12 @@ public abstract class InterfaceItemBase extends AbstractMessageReceiver implemen private void disconnectInternal() { peerAddress = null; peerMsgReceiver = null; - + if (replicator!=null) destroy(); } - + + protected IMessageReceiver getMsgReceiver() { return ownMsgReceiver; } @@ -122,7 +123,7 @@ public abstract class InterfaceItemBase extends AbstractMessageReceiver implemen protected synchronized IMessageReceiver getPeerMsgReceiver() { return peerMsgReceiver; } - + public IEventReceiver getActor() { return (IEventReceiver) getParent(); } @@ -134,7 +135,7 @@ public abstract class InterfaceItemBase extends AbstractMessageReceiver implemen public int getIdx() { return idx; } - + /* (non-Javadoc) * @see org.eclipse.etrice.runtime.java.messaging.RTObject#destroy() */ @@ -143,26 +144,26 @@ public abstract class InterfaceItemBase extends AbstractMessageReceiver implemen if (peerAddress!=null) { disconnect(); } - + if (replicator!=null) { replicator.removeItem(this); } - + ownMsgReceiver.removeMessageReceiver(this); ownMsgReceiver.freeAddress(getAddress()); - + super.destroy(); } - + @Override public String toString() { return ((replicator!=null)?"sub ":"")+"port "+getName()+" "+getAddress()+" <-> "+getPeerAddress(); } - + public static void connect(IRTObject obj, String path1, String path2) { IRTObject obj1 = obj.getObject(path1); IRTObject obj2 = obj.getObject(path2); - + if (obj1 instanceof IInterfaceItem && obj2 instanceof IInterfaceItem) { ((IInterfaceItem)obj1).connectWith((IInterfaceItem) obj2); } diff --git a/runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase/RTSystemProtocol.java b/runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase/RTSystemProtocol.java index dcd2973c6..f4ccd974e 100644 --- a/runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase/RTSystemProtocol.java +++ b/runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase/RTSystemProtocol.java @@ -4,10 +4,10 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * CONTRIBUTORS: * Henrik Rentz-Reichert (initial contribution) - * + * *******************************************************************************/ package org.eclipse.etrice.runtime.java.modelbase; @@ -21,14 +21,14 @@ import org.eclipse.etrice.runtime.java.modelbase.RTSystemServicesProtocol.RTSyst * */ public class RTSystemProtocol { - + private static final String RT_SYSTEM_PORT_NAME = "RTSystemPort"; - + public static class RTSystemPort extends RTSystemServicesProtocolPort { - + public RTSystemPort(IInterfaceItemOwner actor, int localId) { super(actor, RT_SYSTEM_PORT_NAME, localId); - + // since we have no mapping for the system ports we connect them directly here IReplicatedInterfaceItem systemPort = actor.getSystemPort(); if (systemPort!=null) { @@ -36,17 +36,17 @@ public class RTSystemProtocol { connectWith(peer); } } - + protected void connectWithPeer() { } - + @Override - protected void destroy() { + public void destroy() { super.destroy(); } - + } - + public static class RTSystemConjPort extends RTSystemServicesProtocolConjReplPort { public RTSystemConjPort(IInterfaceItemOwner actor, int localId) { @@ -57,17 +57,17 @@ public class RTSystemProtocol { protected InterfaceItemBase createInterfaceItem(IInterfaceItemOwner rcv, String name, int lid, int idx) { return new RTSystemConjSubPort(rcv, name, lid, idx); } - + } - + public static class RTSystemConjSubPort extends RTSystemServicesProtocolConjPort { public RTSystemConjSubPort(IInterfaceItemOwner actor, String name, int localId, int idx) { super(actor, name, localId, idx); } - + protected void connectWithPeer() { } - + } } |