1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: dep_main.cxx,v $
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 ************************************************************************/
33 #include "dependy.hxx"
43 if (argc
< 2 || *argv
[1] == '?')
45 std::cout
<< "\nUse:\n"
46 << "srvdepy.exe <xml-component-descriptions-root-directory>\n"
52 DependencyFinder aDependencies
;
54 aDependencies
.GatherData(argv
[1]);
55 char sInput
[500] = "";
56 std::vector
<Simstr
> aLibs
;
57 std::vector
<Simstr
> aServs
;
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"
73 Simstr
sImplService(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
!= '#');