//$Id: CICompDir.cpp,v 1.9 2005/05/14 23:29:42 markus Exp $

//PROJECT     : DirComp
//SUBSYSTEM   : CORBA
//REFERENCES  :
//TODO        :
//BUGS        :
//REVISION    : $Revision: 1.9 $
//AUTHOR      : Markus Schwab
//CREATED     : 19.1.2001
//COPYRIGHT   : Copyright (C) 2001 - 2005

// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

#include <YGP/Check.h>
#include <YGP/Trace.h>

#include "CICompDir.h"

struct File;


CICompareDirs::CICompareDirs () : pOrig (NULL), pComp (NULL) {
   Check2 (CCompareDirs::NO_OPTION == CompareDirs::NO_OPTION);
   Check2 (CCompareDirs::OPT_SEARCHSUBDIRS == CompareDirs::OPT_SEARCHSUBDIRS);
   Check2 (CCompareDirs::OPT_NOCHANGED == CompareDirs::OPT_NOCHANGED);
   Check2 (CCompareDirs::OPT_CHECKCONTENTS == CompareDirs::OPT_CHECKCONTENTS);
   Check2 (CCompareDirs::OPT_NODIRCOMP == CompareDirs::OPT_NODIRCOMP);
   Check2 (CCompareDirs::OPT_NONEWDEL == CompareDirs::OPT_NONEWDEL);
   Check2 (CCompareDirs::OPT_IGNORETIMESTAMP == CompareDirs::OPT_IGNORETIMESTAMP);
   Check2 (CCompareDirs::OPT_EQUAL == CompareDirs::OPT_EQUAL);
   Check2 (CCompareDirs::OPT_CHECKHIDDEN == CompareDirs::OPT_CHECKHIDDEN);

   Check2 ((int)CCompareDirs::DIR_YOUNGER == (int)CompareDirs::DIR_YOUNGER);
   Check2 ((int)CCompareDirs::DIR_OLDER == (int)CompareDirs::DIR_OLDER);
   Check2 ((int)CCompareDirs::DIR_DIFFERENT == (int)CompareDirs::DIR_DIFFERENT);
   Check2 ((int)CCompareDirs::DIR_EQUAL == (int)CompareDirs::DIR_EQUAL);
   Check2 ((int)CCompareDirs::DIR_DELETED == (int)CompareDirs::DIR_DELETED);
   Check2 ((int)CCompareDirs::DIR_NEW == (int)CompareDirs::DIR_NEW);
}

void CICompareDirs::compare () { CompareDirs::compare (); }

void CICompareDirs::addOption (CORBA::ULong option) {
   CompareDirs::addOption ((CompareDirs::Options)option);
}

void CICompareDirs::removeOption (CORBA::ULong option) {
   CompareDirs::removeOption ((CompareDirs::Options)option);
}

void CICompareDirs::toggleOption (CORBA::ULong option) {
   CompareDirs::toggleOption ((CompareDirs::Options)option);
}

void CICompareDirs::setOriginalDir (CDirectorySearch_ptr dir) {
   CompareDirs::setOriginalDir ((YGP::IDirectorySearch&)*dir);
}

void CICompareDirs::setCompareDir  (CDirectorySearch_ptr dir) {
   CompareDirs::setCompareDir ((YGP::IDirectorySearch&)*dir);
}

CORBA::Boolean CICompareDirs::setBeginTime (const char* time) {
  return CompareDirs::setBeginTime ((const char*)time);
}

CORBA::Boolean CICompareDirs::setEndTime   (const char* time) {
 return CompareDirs::setEndTime ((const char*)time);
}

void CICompareDirs::addIncludeFiles (const char* incl) {
   return CompareDirs::addIncludeFiles ((const char*)incl);
}

void CICompareDirs::addExcludeFiles (const char* excl) {
   return CompareDirs::addExcludeFiles ((const char*)excl);
}

void CICompareDirs::addIncludeDirs (const char* incl) {
   return CompareDirs::addIncludeDirs ((const char*)incl);
}

void CICompareDirs::addExcludeDirs (const char* excl) {
   return CompareDirs::addExcludeDirs ((const char*)excl);
}

void CICompareDirs::clearFiles () {
   return CompareDirs::clearFiles ();
}

void CICompareDirs::clearDirectories () {
   return CompareDirs::clearDirectories ();
}

void CICompareDirs::showFile (const Status diff, const YGP::File* pFileOrig,
			      const YGP::File* pFileComp) {
   pOrig = pFileOrig ? new CIFile (*pFileOrig) : NULL;
   pComp = pFileComp ? new CIFile (*pFileComp) : NULL;

   _status = static_cast<CORBA::ULong> (diff);
}

CORBA::Boolean CICompareDirs::getResult (CFile_out original,
                                      	 CFile_out compare,
                                         CORBA::ULong_out status) {
   status = _status;
   original = pOrig;
   compare = pComp;
   return false;
}

CDirectorySearch_ptr CICompareDirs::makeSearchObject (const char* dir) {
   TRACE1 ("CICompareDirs::makeSearchObject (const char*) - " << dir);
   return CDirectorySearch::_duplicate (new CIDirectorySearch
                                        (CompareDirs::makeSearchobject (dir, 0)));
}


syntax highlighted by Code2HTML, v. 0.9.1