root/ossiedev/branches/deepanns/components/am_demod/am_demod.h @ 8886

Revision 8886, 3.1 KB (checked in by deepanns, 4 years ago)

updated query and configure for components

Line 
1/****************************************************************************
2
3Copyright 2006 Virginia Polytechnic Institute and State University
4
5This file is part of the OSSIE am_demod.
6
7OSSIE am_demod is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 2 of the License, or
10(at your option) any later version.
11
12OSSIE am_demod is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with OSSIE am_demod; if not, write to the Free Software
19Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
20
21****************************************************************************/
22
23
24#ifndef am_demod_IMPL_H
25#define am_demod_IMPL_H
26
27#include <stdlib.h>
28#include "ossie/cf.h"
29
30#include "ossie/PortTypes.h"
31/*Data type will change for the next three statements based on standardInterfaces selected in OWD*/
32#include "standardinterfaces/complexShort.h"   
33/*new hidden uses port imp. (output)*/ 
34#include "standardinterfaces/complexShort_u.h" 
35/*new hidden provides port imp. (input)*/       
36#include "standardinterfaces/complexShort_p.h"         
37
38#include "ossie/Resource_impl.h"
39class am_demod_i;
40
41void process_data(void *data);
42
43class am_demod_i : public virtual Resource_impl
44{
45    friend class dataOut_i;
46    friend class dataIn_i;
47    friend void process_data(void *data);
48
49    public:
50        am_demod_i(const char *uuid, omni_condition *sem);
51
52        void start() throw (CF::Resource::StartError, CORBA::SystemException);
53        void stop() throw (CF::Resource::StopError, CORBA::SystemException);
54
55        CORBA::Object_ptr getPort( const char* portName ) throw (CF::PortSupplier::UnknownPort, CORBA::SystemException);
56
57        void releaseObject() throw (CF::LifeCycle::ReleaseError, CORBA::SystemException);
58
59                void initialize() throw (CF::LifeCycle::InitializeError, CORBA::SystemException);
60                 void query(CF::Properties &configProperties) throw (CF::UnknownProperties, CORBA::SystemException);
61
62        void configure(const CF::Properties&) throw (CORBA::SystemException, CF::PropertySet::InvalidConfiguration, CF::PropertySet::PartialConfiguration);
63
64    private:
65        am_demod_i();
66        am_demod_i(am_demod_i&);
67
68        omni_condition *component_running;      //for component shutdown
69        omni_thread *processing_thread;         //for component writer function
70
71        CORBA::UShort *simple_ptr;
72        CORBA::UShort simple_value;
73        unsigned int simplesequencelength;
74        CORBA::ShortSeq *simplesequence_ptr;
75        //simplesequence_ptr = new short[simplesequencelength];
76       
77       
78        /*List all of components uses ports*/
79        /*depending on component type, there may be 0,1, or multiple Uses Ports*/
80        standardInterfaces_i::complexShort_u *dataOut;
81
82        /*List all of components provides ports*/
83        /*depending on component type, there may be 0,1, or multiple Provides Ports*/
84        standardInterfaces_i::complexShort_p *dataIn;
85       
86};
87#endif
Note: See TracBrowser for help on using the browser.