merge the formfield patch from ooo-build
[ooovba.git] / xml2cmp / source / finder / dep_main.cxx
blob5266ca22bb006d612f292e0946bfce79829911a5
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: dep_main.cxx,v $
10 * $Revision: 1.4 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #include <iostream>
33 #include "dependy.hxx"
36 int
37 #ifdef WNT
38 _cdecl
39 #endif
40 main( int argc,
41 char * argv[] )
43 if (argc < 2 || *argv[1] == '?')
45 std::cout << "\nUse:\n"
46 << "srvdepy.exe <xml-component-descriptions-root-directory>\n"
47 << std::endl;
48 return 0;
52 DependencyFinder aDependencies;
54 aDependencies.GatherData(argv[1]);
55 char sInput[500] = "";
56 std::vector<Simstr> aLibs;
57 std::vector<Simstr> aServs;
60 std::cout
61 << "\nNow you can start to put in Service names.\n"
62 << "Please use correct case, but don't use namespaces.\n"
63 << "Just the Service's own name.\n\n"
64 << "To stop the program, put in a hashmark \"#\" + ENTER.\n"
65 << std::endl;
69 do {
71 sInput[0] = 0;
72 std::cin >> sInput;
73 Simstr sImplService(sInput);
74 if (*sInput != '#')
76 aLibs.erase( aLibs.begin(), aLibs.end() );
77 aServs.erase( aServs.begin(), aServs.end() );
79 aDependencies.FindNeededServices( aLibs, aServs, sImplService );
81 std::cout << "\n\n\nNeeded libraries: " << std::endl;
82 for ( unsigned i = 0; i < aLibs.size(); ++i )
84 std::cout << " " << aLibs[i].str() << std::endl;
86 std::cout << "\nNeeded services: " << std::endl;
87 for ( unsigned s= 0; s < aServs.size(); ++s )
89 std::cout << " " << aServs[s].str() << std::endl;
91 std::cout << "\n\n" << std::endl;
93 } while (*sInput != '#');
95 return 0;