(file) Return to mofCompilerOptions.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Compiler

File: [Pegasus] / pegasus / src / Pegasus / Compiler / mofCompilerOptions.h (download)
Revision: 1.25, Mon Jan 30 16:17:33 2006 UTC (18 years, 5 months ago) by karl
Branch: MAIN
CVS Tags: TASK_PEP233_EmbeddedInstSupport-merge_out_trunk, TASK_BUG_5314_IPC_REFACTORING_ROOT, TASK_BUG_5314_IPC_REFACTORING_BRANCH, TASK_BUG_5314_IPC_REFACTORING-V1, TASK_BUG_5191_QUEUE_CONSOLIDATION_ROOT, TASK_BUG_5191_QUEUE_CONSOLIDATION_BRANCH, TASK-TASK-BUG4011_WinLocalConnect-branch-New-root, TASK-TASK-BUG4011_WinLocalConnect-branch-New-merged_out_to_branch, TASK-TASK-BUG4011_WinLocalConnect-branch-New-merged_out_from_trunk, TASK-TASK-BUG4011_WinLocalConnect-branch-New-merged_in_to_trunk, TASK-TASK-BUG4011_WinLocalConnect-branch-New-merged_in_from_branch, TASK-TASK-BUG4011_WinLocalConnect-branch-New-branch, TASK-PEP286_PRIVILEGE_SEPARATION-root, TASK-PEP286_PRIVILEGE_SEPARATION-branch, TASK-PEP268_SSLClientCertificatePropagation-root, TASK-PEP268_SSLClientCertificatePropagation-merged_out_to_branch, TASK-PEP268_SSLClientCertificatePropagation-merged_out_from_trunk, TASK-PEP268_SSLClientCertificatePropagation-merged_in_to_trunk, TASK-PEP268_SSLClientCertificatePropagation-merged_in_from_branch, TASK-PEP268_SSLClientCertificatePropagation-branch, TASK-PEP267_SLPReregistrationSupport-root, TASK-PEP267_SLPReregistrationSupport-merging_out_to_branch, TASK-PEP267_SLPReregistrationSupport-merging_out_from_trunk, TASK-PEP267_SLPReregistrationSupport-merged_out_to_branch, TASK-PEP267_SLPReregistrationSupport-merged_out_from_trunk, TASK-PEP267_SLPReregistrationSupport-merged_in_to_trunk, TASK-PEP267_SLPReregistrationSupport-merged_in_from_branch, TASK-PEP267_SLPReregistrationSupport-branch, TASK-PEP250_RPMProvider-root, TASK-PEP250_RPMProvider-merged_out_to_branch, TASK-PEP250_RPMProvider-merged_out_from_trunk, TASK-PEP250_RPMProvider-merged_in_to_trunk, TASK-PEP250_RPMProvider-merged_in_from_branch, TASK-PEP250_RPMProvider-branch, TASK-PEP245_CimErrorInfrastructure-root, TASK-PEP245_CimErrorInfrastructure-merged_out_to_branch, TASK-PEP245_CimErrorInfrastructure-merged_out_from_trunk, TASK-PEP245_CimErrorInfrastructure-merged_in_to_trunk, TASK-PEP245_CimErrorInfrastructure-merged_in_from_branch, TASK-PEP245_CimErrorInfrastructure-branch, TASK-PEP241_OpenPegasusStressTests-root, TASK-PEP241_OpenPegasusStressTests-merged_out_to_branch, TASK-PEP241_OpenPegasusStressTests-merged_out_from_trunk, TASK-PEP241_OpenPegasusStressTests-merged_in_to_trunk, TASK-PEP241_OpenPegasusStressTests-merged_in_from_branch, TASK-PEP241_OpenPegasusStressTests-branch, TASK-Bugs5690_3913_RemoteCMPI-root, TASK-Bugs5690_3913_RemoteCMPI-merged_out_to_branch, TASK-Bugs5690_3913_RemoteCMPI-merged_out_from_trunk, TASK-Bugs5690_3913_RemoteCMPI-merged_in_to_trunk, TASK-Bugs5690_3913_RemoteCMPI-merged_in_from_branch, TASK-Bugs5690_3913_RemoteCMPI-branch, TASK-Bug2102_RCMPIWindows-root, TASK-Bug2102_RCMPIWindows-merged_out_to_branch, TASK-Bug2102_RCMPIWindows-merged_out_from_trunk, TASK-Bug2102_RCMPIWindows-merged_in_to_trunk, TASK-Bug2102_RCMPIWindows-merged_in_from_branch, TASK-Bug2102_RCMPIWindows-branch, TASK-Bug2102Final-root, TASK-Bug2102Final-merged_out_to_branch, TASK-Bug2102Final-merged_out_from_trunk, TASK-Bug2102Final-merged_in_to_trunk, TASK-Bug2102Final-merged_in_from_branch, TASK-Bug2102Final-branch, TASK-Bug2021_RemoteCMPIonWindows-root, TASK-Bug2021_RemoteCMPIonWindows-merged_out_to_branch, TASK-Bug2021_RemoteCMPIonWindows-merged_out_from_trunk, TASK-Bug2021_RemoteCMPIonWindows-merged_in_to_trunk, TASK-Bug2021_RemoteCMPIonWindows-merged_in_from_branch, TASK-Bug2021_RemoteCMPIonWindows-branch, TASK-Bug2021_RCMPIonWindows-root, TASK-Bug2021_RCMPIonWindows-merged_out_to_branch, TASK-Bug2021_RCMPIonWindows-merged_out_from_trunk, TASK-Bug2021_RCMPIonWindows-merged_in_to_trunk, TASK-Bug2021_RCMPIonWindows-merged_in_from_branch, TASK-Bug2021_RCMPIonWindows-branch, TASK-BUG7240-root, TASK-BUG7240-branch, TASK-BUG4011_WinLocalConnect-root, TASK-BUG4011_WinLocalConnect-merged_out_to_branch, TASK-BUG4011_WinLocalConnect-merged_out_from_trunk, TASK-BUG4011_WinLocalConnect-merged_in_to_trunk, TASK-BUG4011_WinLocalConnect-merged_in_from_branch, TASK-BUG4011_WinLocalConnect-branch-New, TASK-BUG4011_WinLocalConnect-branch, RELEASE_2_6_3-RC2, RELEASE_2_6_3-RC1, RELEASE_2_6_3, RELEASE_2_6_2-RC1, RELEASE_2_6_2, RELEASE_2_6_1-RC1, RELEASE_2_6_1, RELEASE_2_6_0-RC1, RELEASE_2_6_0-FC, RELEASE_2_6_0, RELEASE_2_6-root, RELEASE_2_6-branch-clean, RELEASE_2_6-branch, RELEASE_2_5_5-RC2, RELEASE_2_5_5-RC1, RELEASE_2_5_5, RELEASE_2_5_4-RC2, RELEASE_2_5_4-RC1, RELEASE_2_5_4, RELEASE_2_5_3-RC1, RELEASE_2_5_3, RELEASE_2_5_2-RC1, RELEASE_2_5_2, RELEASE_2_5_1-RC1, RELEASE_2_5_1, RELEASE_2_5-root, RELEASE_2_5-branch, PEP286_PRIVILEGE_SEPARATION_ROOT, PEP286_PRIVILEGE_SEPARATION_CODE_FREEZE, PEP286_PRIVILEGE_SEPARATION_BRANCH, PEP286_PRIVILEGE_SEPARATION_1
Changes since 1.24: +3 -1 lines
BUG#: 4691
TITLE: Update Licenses to 2006

DESCRIPTION: Updates most of the licenses to 2006. The slp_client directories are excluded for the moment pending discussion. This change has passed unit and system tests.  Note that this changes just about EVERY file in Pegasus.

//%2006////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
// IBM Corp.; EMC Corporation, The Open Group.
// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
// EMC Corporation; VERITAS Software Corporation; The Open Group.
// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
// EMC Corporation; Symantec Corporation; The Open Group.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to
// deal in the Software without restriction, including without limitation the
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
// sell copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// 
// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//==============================================================================
//
// Author: Bob Blair (bblair@bmc.com)
//
// Modified By: Gerarda Marquez (gmarquez@us.ibm.com)
//              -- PEP 43 changes
//
//%/////////////////////////////////////////////////////////////////////////////


//
// Header for a class to hold options available to users of the
// cimmof embeddable compiler.
//
//
//
// Defines the mofCompilerOptions class, which contains all you
// want to know about the command line that invoked the compiler,
// including
//             The include (-I) paths
//             The repository to talk to (-R)
//             Other compiler options
//                 syntax check only (-E)
//                 suppress warnings (-w)
//             The files to be compiled.
//
// ATTN: BB P3  Mar 2001 This needs to be reworked so that the same options
// offered by the Microsoft compiler are supported.  They allow modes for
//      -- Marking as an error an attempt to create an existing object
//      -- Marking as an error an attempt to create an existing object
//         with different elements (i.e. overwriting)

#ifndef _MOFCOMPILEROPTIONS_H_
#define _MOFCOMPILEROPTIONS_H_

#include <Pegasus/Common/String.h>
#include <Pegasus/Common/ArrayInternal.h>
#include <Pegasus/Compiler/compilerCommonDefs.h>
#include <Pegasus/Compiler/Linkage.h>
#include <iostream>

PEGASUS_USING_STD;
PEGASUS_USING_PEGASUS;

class PEGASUS_COMPILER_LINKAGE mofCompilerOptions {
 private:
  Array<String> _include_paths;
  Array<String> _filespecs;
  String       _repository;
  String        _repository_name;
  String        _repository_mode;
  String                _namespacePath;
  Boolean         _syntax_only;
  Boolean         _is_local;
  Boolean         _suppress_warnings;
  Boolean         _suppress_all_messages;
  Boolean         _emit_xml;
  compilerCommonDefs::operationType _ot;
  Boolean         _trace;
  Boolean	  _update_class;
  Boolean	  _allow_experimental;
  Boolean	  _allow_version;
#ifdef PEGASUS_OS_OS400
  Boolean         _quiet;
#endif
  Boolean         _no_usage_warning;

  PEGASUS_STD(ostream)      *_traceos;
  PEGASUS_STD(ostream)      *_erroros;
  PEGASUS_STD(ostream)      *_warningos;
 public:
  mofCompilerOptions() : _repository(String::EMPTY), 
    _repository_name(String::EMPTY),
    _repository_mode(String::EMPTY),
    _namespacePath(""),
    _syntax_only(false),
    _is_local(false),
    _suppress_warnings(false),
    _suppress_all_messages(false),
    _emit_xml(false),
    _ot(compilerCommonDefs::USE_REPOSITORY),
    _trace(false),
    _no_usage_warning(false),
    _traceos(0),
    _erroros(0),
    _warningos(0)
    {;}

  ~mofCompilerOptions() {;}

  void add_include_path(const String& path) { _include_paths.append(path); }
  const Array<String> &get_include_paths() const { return _include_paths; }
  void add_filespecs(const String &spec) { _filespecs.append(spec); }
  const Array<String>& get_include_path_list() const {return _include_paths; }
  const Array<String>& get_filespec_list() const { return _filespecs; }
  void  set_repository(const String &repository) { \
    _repository = repository; }
  const String &get_repository() const { return _repository; }
  void  set_repository_name(const String &repository_name) { \
    _repository_name = repository_name; }
  const String &get_repository_name() const { return _repository_name; }
  void  set_repository_mode(const String &repository_mode) { \
    _repository_mode = repository_mode; }
  const String &get_repository_mode() const { return _repository_mode; }
  void set_syntax_only() { _syntax_only = true; }
  void reset_syntax_only() { _syntax_only = false; }
  Boolean syntax_only() const { return _syntax_only; }
  void set_is_local() { _is_local = true; }
  void reset_is_local() { _is_local = false; }
  Boolean is_local() const { return _is_local; }
  void set_suppress_warnings() { _suppress_warnings = true; }
  void reset_suppress_warnings() { _suppress_warnings = false; }
  Boolean suppress_warnings() const { return _suppress_warnings; }
  void set_suppress_all_messages() { _suppress_all_messages = true; }
  void reset_suppress_all_messages() { _suppress_all_messages = false; }
  Boolean suppress_all_messages() const { return _suppress_all_messages; }
  void set_trace() { _trace = true; }
  void reset_trace() { _trace = false; }
  Boolean trace() const { return _trace; }
  void set_update_class() { _update_class = true; }
  void reset_update_class() { _update_class = false; }
  Boolean update_class() const { return _update_class; }
  void set_allow_experimental() { _allow_experimental = true; }
  void reset_allow_experimental() { _allow_experimental = false; }
  Boolean allow_experimental() const { return _allow_experimental; }
  void set_allow_version() { _allow_version = true; }
  void reset_allow_version() { _allow_version = false; }
  Boolean allow_version() const { return _allow_version; }
#ifdef PEGASUS_OS_OS400
  void set_quiet() { _quiet = true; }
  void reset_quiet() { _quiet = false; }
  Boolean quiet() const { return _quiet; }
#endif
  void set_operationType(compilerCommonDefs::operationType ot) { _ot = ot; }
  void reset_operationType() { _ot = compilerCommonDefs::USE_REPOSITORY; }
  compilerCommonDefs::operationType operationType() const { return _ot; }
  void set_xmloutput() { _emit_xml = true; }
  void reset_xmloutput() { _emit_xml = false; }
  Boolean xml_output() const { return _emit_xml; }
  void set_traceos(PEGASUS_STD(ostream) &os) { _traceos = &os; }
  void reset_traceos() { _traceos = 0; }
  ostream &traceos() const 
      { return _traceos ? (ostream&)*_traceos : (ostream&)cout; }
  void set_erroros(ostream &os) { _erroros = &os; }
  void reset_erroros() { _erroros = 0; }
  ostream &erroros() const 
      { return _erroros ? (ostream&)*_erroros : (ostream&)cerr; }
  void set_warningos(ostream &os) { _warningos = &os; }
  void reset_warningos() { _warningos = 0; }
  ostream &warningos() const 
      {return _warningos ? (ostream&)*_warningos : (ostream&)cerr;}
  void set_namespacePath(const String &path) { _namespacePath = path; }
  const String &get_namespacePath() const  { return _namespacePath; }
  void set_no_usage_warning() { _no_usage_warning = true; }
  Boolean get_no_usage_warning() const { return _no_usage_warning; }
};

#endif

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2