root/components/Modulator/trunk/Modulator/main.cpp @ 2576

Revision 2576, 2.1 KB (checked in by balister, 6 years ago)

Convert from cout to DEBUG macro.

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    ossieSupport::ORB *orb = new ossieSupport::ORB;
35    omni_mutex component_running_mutex;
36    omni_condition *component_running = new omni_condition(&component_running_mutex);
37
38    ossieDebugLevel = 3;
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    DEBUG(3, Modulator, "Identifier - " << uuid << "  Label - " << label)
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    orb->bind_object_to_name((CORBA::Object_ptr) modulator_var, label);
59
60    // This bit is ORB specific
61    // omniorb is threaded and the servants are running at this point
62    // so we block on the condition
63    // The releaseObject method clear the condition and the component exits
64
65    component_running->wait();
66    orb->unbind_name(label);
67    orb->orb->shutdown(0);
68
69}
Note: See TracBrowser for help on using the browser.