Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuergen Haug2015-12-23 11:35:03 +0000
committerJuergen Haug2016-02-28 17:01:11 +0000
commit81750c5e633ad14e7ab25b016564af20fec0a1cc (patch)
tree951ca972625f09ffee924496591e97d927a74f0d /runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase
parentdc98de4bb145d8d3789909e32c11765596165fbb (diff)
downloadorg.eclipse.etrice-81750c5e633ad14e7ab25b016564af20fec0a1cc.tar.gz
org.eclipse.etrice-81750c5e633ad14e7ab25b016564af20fec0a1cc.tar.xz
org.eclipse.etrice-81750c5e633ad14e7ab25b016564af20fec0a1cc.zip
[generators] added cpp generator draft
Diffstat (limited to 'runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase')
-rw-r--r--runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase/InterfaceItemBase.java57
-rw-r--r--runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase/RTSystemProtocol.java30
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() {
}
-
+
}
}

Back to the top