root/experimental/components/FrameAssembler/branches/FrameAssembler-metadata/src/main.cpp @ 5518

Revision 5518, 2.3 KB (checked in by jgaeddert, 6 years ago)

adjusting header/tail phasing pattern on FrameAssembler

  • Property svn:eol-style set to native
Line 
1/****************************************************************************
2
3Copyright 2006 Virginia Polytechnic Institute and State University
4
5This file is part of the OSSIE FrameAssembler.
6
7OSSIE FrameAssembler 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 FrameAssembler 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 FrameAssembler; 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#include "ossie/ossieSupport.h"
25#include "ossie/debug.h"
26
27#include "FrameAssembler.h"
28
29using namespace std;
30using namespace standardInterfaces;  // For standard OSSIE interface classes
31
32
33int main(int argc, char* argv[])
34{
35    ossieDebugLevel = 1;
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        cout << argv[0] << " <id> <usage name> " << endl;
42        exit (-1);
43    }
44
45    char *uuid = argv[1];
46    char *label = argv[2];
47
48    cout << "Identifier - " << uuid << "  Label - " << label << endl;
49
50    FrameAssembler_i* frameassembler_servant;
51    CF::Resource_var frameassembler_var;
52
53    // Create the frameassembler component servant and object reference
54
55    frameassembler_servant = new FrameAssembler_i(uuid, component_running);
56    frameassembler_var = frameassembler_servant->_this();
57
58    orb->bind_object_to_name((CORBA::Object_ptr) frameassembler_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.