root/ossiedev/branches/hvolos/components/Modulator/main.cpp @ 8415

Revision 8415, 2.1 KB (checked in by hvolos, 5 years ago)

Modified the mod/demod to work with the current framework

Line 
1/****************************************************************************
2
3Copyright 2006 Virginia Polytechnic Institute and State University
4
5This file is part of the OSSIE Modulator.
6
7OSSIE Modulator 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 Modulator 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 Modulator; if not, write to the Free Software
19Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
20
21****************************************************************************/
22
23#include <iostream>
24
25#include "ossie/ossieSupport.h"
26#include "ossie/debug.h"
27
28#include "Modulator.h"
29
30
31int main(int argc, char* argv[])
32
33{
34    ossieDebugLevel = 3;
35
36    ossieSupport::ORB *orb = new ossieSupport::ORB;
37    omni_mutex component_running_mutex;
38    omni_condition *component_running = new omni_condition(&component_running_mutex);
39
40    if (argc != 3) {
41        std::cout << argv[0] << " <id> <usage name> " << std::endl;
42        exit (-1);
43    }
44
45    char *uuid = argv[1];
46    char *label = argv[2];
47
48    std::cout << "Identifier - " << uuid << "  Label - " << label << std::endl;
49
50    Modulator_i* modulator_servant;
51    CF::Resource_var modulator_var;
52
53    // Create the modulator component servant and object reference
54
55    modulator_servant = new Modulator_i(uuid, component_running);
56    modulator_var = modulator_servant->_this();
57
58
59    orb->bind_object_to_name((CORBA::Object_ptr) modulator_var, label);
60
61    // This bit is ORB specific
62    // omniorb is threaded and the servants are running at this point
63    // so we block on the condition
64    // The releaseObject method clear the condition and the component exits
65
66    component_running->wait();
67    orb->unbind_name(label);
68    orb->orb->shutdown(0);
69
70}
Note: See TracBrowser for help on using the browser.