/* * DDS (Data Distribution Service) for JacORB * * Copyright (C) 2005-2012 Gerald Brose / The JacORB Team. * allaoui <fouad.allaoui@gmail.com>, Didier Donsez (didier.donsez@ieee.org) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA * 02111-1307, USA. * * Coontact: Ahmed yehdih <ahmed.yehdih@gmail.com>, fouad allaoui * <fouad.allaoui@gmail.com>, Didier Donsez (didier.donsez@ieee.org) * Contributor(s) * **/ package org.jacorb.demo.dds.dcps.foosample; import org.jacorb.dds.Supplier; import org.omg.dds.DataWriterListener; import org.omg.dds.DataWriterQos; import org.omg.dds.DataWriterQosHolder; import org.omg.dds.InstanceHandleSeqHolder; import org.omg.dds.LivelinessLostStatus; import org.omg.dds.OfferedDeadlineMissedStatus; import org.omg.dds.OfferedIncompatibleQosStatus; import org.omg.dds.PublicationMatchStatus; import org.omg.dds.Publisher; import org.omg.dds.StatusCondition; import org.omg.dds.SubscriptionBuiltinTopicDataHolder; import org.omg.dds.Time_t; import org.omg.dds.Topic; /** * A DataWriter is attached to exactly one Publisher which acts as a factory for it. * A DataWriter is bound to exactly one Topic and therefore to exactly one data type. The * Topic must exist prior to the DataWriter's creation. * DataWriter is an abstract class. It must be specialized for each particular application * data-type . The additional methods that must be defined in the autogenerated * class for a hypothetical application type 'Foo' * */ public class FooDataWriterImpl extends FooDataWriterPOA { private DataWriterQos qos; private DataWriterListener a_listener ; private Publisher PubParent ; private Topic topic ; org.omg.CORBA.ORB orb ; org.omg.PortableServer.POA poa ; // put instance of Foo in channel event private Supplier _Supplier ; /** * @param qos * @param a_listener * @param pubParent * @param topic_name */ public FooDataWriterImpl(DataWriterQos qos, DataWriterListener a_listener, Publisher pubParent, Topic topic,org.omg.CORBA.ORB orb , org.omg.PortableServer.POA poa ) { this.orb = orb ; this.poa = poa ; this.qos = qos; this.a_listener = a_listener; PubParent = pubParent; this.topic = topic; _Supplier = new Supplier(orb,poa); } /** * Not Implemented */ public int register(Foo instance_data) { return 0; } /** * Not Implemented */ public int register_w_timestamp(Foo instance_data, int handle, Time_t source_timestamp) { return 0; } /** * Not Implemented */ public int unregister(Foo instance_data, int handle) { return 0; } /** * Not Implemented */ public int unregister_w_timestamp(Foo instance_data, int handle, Time_t source_timestamp) { return 0; } /** * Not Implemented */ public int write(Foo instance_data, int handle) { _Supplier.Write(topic , instance_data); return 0; } /** * Not Implemented */ public int write_w_timestamp(Foo instance_data, int handle, Time_t source_timestamp) { return 0; } /** * Not Implemented */ public int dispose(Foo instance_data, int instance_handle) { return 0; } /** * Not Implemented */ public int dispose_w_timestamp(Foo instance_data, int instance_handle, Time_t source_timestamp) { return 0; } /** * Not Implemented */ public int get_key_value(FooHolder key_holder, int handle) { return 0; } /** * Not Implemented */ public int set_qos(DataWriterQos qos) { return 0; } /** * Not Implemented */ public void get_qos(DataWriterQosHolder qos) { } /** * Not Implemented */ public int set_listener(DataWriterListener a_listener, int mask) { return 0; } /** * Not Implemented */ public DataWriterListener get_listener() { return null; } /** * Not Implemented */ public Topic get_topic() { return null; } /** * Not Implemented */ public Publisher get_publisher() { return PubParent; } /** * Not Implemented */ public LivelinessLostStatus get_liveliness_lost_status() { return null; } /** * Not Implemented */ public OfferedDeadlineMissedStatus get_offered_deadline_missed_status() { return null; } /** * Not Implemented */ public OfferedIncompatibleQosStatus get_offered_incompatible_qos_status() { return null; } /** * Not Implemented */ public PublicationMatchStatus get_publication_match_status() { return null; } /** * Not Implemented */ public void assert_liveliness() { } /** * Not Implemented */ public int get_matched_subscriptions( InstanceHandleSeqHolder subscription_handles) { return 0; } /** * Not Implemented */ public int get_matched_subscription_data( SubscriptionBuiltinTopicDataHolder subscription_data, int subscription_handle) { return 0; } /** * Not Implemented */ public int enable() { return 0; } /** * Not Implemented */ public StatusCondition get_statuscondition() { return null; } /** * Not Implemented */ public int get_status_changes() { return 0; } /** * @return Returns the pubParent. */ public Publisher getPubParent() { return PubParent; } /** * @return Returns the topic_name. */ public Topic getTopic() { return topic; } }