blob: d630fba87ade981063e5e38ecc86d19eae29ba0d [file] [log] [blame]
// *****************************************************************************
// *****************************************************************************
// Copyright 2013, Cadence Design Systems
//
// This file is part of the Cadence LEF/DEF Open Source
// Distribution, Product Version 5.8.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
// implied. See the License for the specific language governing
// permissions and limitations under the License.
//
// For updates, support, or to become part of the LEF/DEF Community,
// check www.openeda.org for details.
//
// $Author: arakhman $
// $Revision: #5 $
// $Date: 2013/03/13 $
// $State: $
// *****************************************************************************
// *****************************************************************************
#include "defrCallBacks.hpp"
BEGIN_LEFDEF_PARSER_NAMESPACE
defrCallbacks::defrCallbacks()
: DesignCbk(NULL),
TechnologyCbk(NULL),
DesignEndCbk(NULL),
PropCbk(NULL),
PropDefEndCbk(NULL),
PropDefStartCbk(NULL),
ArrayNameCbk(NULL),
FloorPlanNameCbk(NULL),
UnitsCbk(NULL),
DividerCbk(NULL),
BusBitCbk(NULL),
SiteCbk(NULL),
CanplaceCbk(NULL),
CannotOccupyCbk(NULL),
ComponentStartCbk(NULL),
ComponentEndCbk(NULL),
ComponentCbk(NULL),
NetStartCbk(NULL),
NetEndCbk(NULL),
NetCbk(NULL),
NetNameCbk(NULL),
NetSubnetNameCbk(NULL),
NetNonDefaultRuleCbk(NULL),
NetPartialPathCbk(NULL),
PathCbk(NULL),
VersionCbk(NULL),
VersionStrCbk(NULL),
PinExtCbk(NULL),
ComponentExtCbk(NULL),
ViaExtCbk(NULL),
NetConnectionExtCbk(NULL),
NetExtCbk(NULL),
GroupExtCbk(NULL),
ScanChainExtCbk(NULL),
IoTimingsExtCbk(NULL),
PartitionsExtCbk(NULL),
HistoryCbk(NULL),
DieAreaCbk(NULL),
PinCapCbk(NULL),
PinCbk(NULL),
StartPinsCbk(NULL),
PinEndCbk(NULL),
DefaultCapCbk(NULL),
RowCbk(NULL),
TrackCbk(NULL),
GcellGridCbk(NULL),
ViaStartCbk(NULL),
ViaEndCbk(NULL),
ViaCbk(NULL),
RegionStartCbk(NULL),
RegionEndCbk(NULL),
RegionCbk(NULL),
SNetStartCbk(NULL),
SNetEndCbk(NULL),
SNetCbk(NULL),
SNetPartialPathCbk(NULL),
SNetWireCbk(NULL),
GroupsStartCbk(NULL),
GroupsEndCbk(NULL),
GroupNameCbk(NULL),
GroupMemberCbk(NULL),
ComponentMaskShiftLayerCbk(NULL),
GroupCbk(NULL),
AssertionsStartCbk(NULL),
AssertionsEndCbk(NULL),
AssertionCbk(NULL),
ConstraintsStartCbk(NULL),
ConstraintsEndCbk(NULL),
ConstraintCbk(NULL),
ScanchainsStartCbk(NULL),
ScanchainsEndCbk(NULL),
ScanchainCbk(NULL),
IOTimingsStartCbk(NULL),
IOTimingsEndCbk(NULL),
IOTimingCbk(NULL),
FPCStartCbk(NULL),
FPCEndCbk(NULL),
FPCCbk(NULL),
TimingDisablesStartCbk(NULL),
TimingDisablesEndCbk(NULL),
TimingDisableCbk(NULL),
PartitionsStartCbk(NULL),
PartitionsEndCbk(NULL),
PartitionCbk(NULL),
PinPropStartCbk(NULL),
PinPropEndCbk(NULL),
PinPropCbk(NULL),
CaseSensitiveCbk(NULL),
BlockageStartCbk(NULL),
BlockageEndCbk(NULL),
BlockageCbk(NULL),
SlotStartCbk(NULL),
SlotEndCbk(NULL),
SlotCbk(NULL),
FillStartCbk(NULL),
FillEndCbk(NULL),
FillCbk(NULL),
NonDefaultStartCbk(NULL),
NonDefaultEndCbk(NULL),
NonDefaultCbk(NULL),
StylesStartCbk(NULL),
StylesEndCbk(NULL),
StylesCbk(NULL),
ExtensionCbk(NULL)
{
}
void
defrCallbacks::SetUnusedCallbacks(defrVoidCbkFnType f)
{
if (!DesignCbk)
DesignCbk = (defrStringCbkFnType) f;
if (!TechnologyCbk)
TechnologyCbk = (defrStringCbkFnType) f;
if (!DesignEndCbk)
DesignEndCbk = (defrVoidCbkFnType) f;
if (!PropCbk)
PropCbk = (defrPropCbkFnType) f;
if (!PropDefEndCbk)
PropDefEndCbk = (defrVoidCbkFnType) f;
if (!PropDefStartCbk)
PropDefStartCbk = (defrVoidCbkFnType) f;
if (!ArrayNameCbk)
ArrayNameCbk = (defrStringCbkFnType) f;
if (!FloorPlanNameCbk)
FloorPlanNameCbk = (defrStringCbkFnType) f;
if (!UnitsCbk)
UnitsCbk = (defrDoubleCbkFnType) f;
if (!DividerCbk)
DividerCbk = (defrStringCbkFnType) f;
if (!BusBitCbk)
BusBitCbk = (defrStringCbkFnType) f;
if (!SiteCbk)
SiteCbk = (defrSiteCbkFnType) f;
if (!CanplaceCbk)
CanplaceCbk = (defrSiteCbkFnType) f;
if (!CannotOccupyCbk)
CannotOccupyCbk = (defrSiteCbkFnType) f;
if (!ComponentStartCbk)
ComponentStartCbk = (defrIntegerCbkFnType) f;
if (!ComponentEndCbk)
ComponentEndCbk = (defrVoidCbkFnType) f;
if (!ComponentCbk)
ComponentCbk = (defrComponentCbkFnType) f;
if (!NetStartCbk)
NetStartCbk = (defrIntegerCbkFnType) f;
if (!NetEndCbk)
NetEndCbk = (defrVoidCbkFnType) f;
if (!NetCbk)
NetCbk = (defrNetCbkFnType) f;
// if (! defrNetPartialPathCbk) defrNetPartialPathCbk = (defrNetCbkFnType)f;
if (!PathCbk)
PathCbk = (defrPathCbkFnType) f;
if ((!VersionCbk) && (!VersionStrCbk)) {
// both version callbacks weren't set, if either one is set, it is ok
VersionCbk = (defrDoubleCbkFnType) f;
VersionStrCbk = (defrStringCbkFnType) f;
}
if (!PinExtCbk)
PinExtCbk = (defrStringCbkFnType) f;
if (!ComponentExtCbk)
ComponentExtCbk = (defrStringCbkFnType) f;
if (!ViaExtCbk)
ViaExtCbk = (defrStringCbkFnType) f;
if (!NetConnectionExtCbk)
NetConnectionExtCbk = (defrStringCbkFnType) f;
if (!NetExtCbk)
NetExtCbk = (defrStringCbkFnType) f;
if (!GroupExtCbk)
GroupExtCbk = (defrStringCbkFnType) f;
if (!ScanChainExtCbk)
ScanChainExtCbk = (defrStringCbkFnType) f;
if (!IoTimingsExtCbk)
IoTimingsExtCbk = (defrStringCbkFnType) f;
if (!PartitionsExtCbk)
PartitionsExtCbk = (defrStringCbkFnType) f;
if (!HistoryCbk)
HistoryCbk = (defrStringCbkFnType) f;
if (!DieAreaCbk)
DieAreaCbk = (defrBoxCbkFnType) f;
if (!PinCapCbk)
PinCapCbk = (defrPinCapCbkFnType) f;
if (!PinCbk)
PinCbk = (defrPinCbkFnType) f;
if (!StartPinsCbk)
StartPinsCbk = (defrIntegerCbkFnType) f;
if (!PinEndCbk)
PinEndCbk = (defrVoidCbkFnType) f;
if (!DefaultCapCbk)
DefaultCapCbk = (defrIntegerCbkFnType) f;
if (!RowCbk)
RowCbk = (defrRowCbkFnType) f;
if (!TrackCbk)
TrackCbk = (defrTrackCbkFnType) f;
if (!GcellGridCbk)
GcellGridCbk = (defrGcellGridCbkFnType) f;
if (!ViaStartCbk)
ViaStartCbk = (defrIntegerCbkFnType) f;
if (!ViaEndCbk)
ViaEndCbk = (defrVoidCbkFnType) f;
if (!ViaCbk)
ViaCbk = (defrViaCbkFnType) f;
if (!RegionStartCbk)
RegionStartCbk = (defrIntegerCbkFnType) f;
if (!RegionEndCbk)
RegionEndCbk = (defrVoidCbkFnType) f;
if (!RegionCbk)
RegionCbk = (defrRegionCbkFnType) f;
if (!SNetStartCbk)
SNetStartCbk = (defrIntegerCbkFnType) f;
if (!SNetEndCbk)
SNetEndCbk = (defrVoidCbkFnType) f;
if (!SNetCbk)
SNetCbk = (defrNetCbkFnType) f;
// if(! defrSNetPartialPathCbk) defrSNetPartialPathCbk = (defrNetCbkFnType)f;
// if(! defrSNetWireCbk) defrSNetWireCbk = (defrNetCbkFnType)f;
if (!GroupsStartCbk)
GroupsStartCbk = (defrIntegerCbkFnType) f;
if (!GroupsEndCbk)
GroupsEndCbk = (defrVoidCbkFnType) f;
if (!GroupNameCbk)
GroupNameCbk = (defrStringCbkFnType) f;
if (!GroupMemberCbk)
GroupMemberCbk = (defrStringCbkFnType) f;
if (!ComponentMaskShiftLayerCbk)
ComponentMaskShiftLayerCbk = (defrComponentMaskShiftLayerCbkFnType) f;
if (!GroupCbk)
GroupCbk = (defrGroupCbkFnType) f;
if (!AssertionsStartCbk)
AssertionsStartCbk = (defrIntegerCbkFnType) f;
if (!AssertionsEndCbk)
AssertionsEndCbk = (defrVoidCbkFnType) f;
if (!AssertionCbk)
AssertionCbk = (defrAssertionCbkFnType) f;
if (!ConstraintsStartCbk)
ConstraintsStartCbk = (defrIntegerCbkFnType) f;
if (!ConstraintsEndCbk)
ConstraintsEndCbk = (defrVoidCbkFnType) f;
if (!ConstraintCbk)
ConstraintCbk = (defrAssertionCbkFnType) f;
if (!ScanchainsStartCbk)
ScanchainsStartCbk = (defrIntegerCbkFnType) f;
if (!ScanchainsEndCbk)
ScanchainsEndCbk = (defrVoidCbkFnType) f;
if (!ScanchainCbk)
ScanchainCbk = (defrScanchainCbkFnType) f;
if (!IOTimingsStartCbk)
IOTimingsStartCbk = (defrIntegerCbkFnType) f;
if (!IOTimingsEndCbk)
IOTimingsEndCbk = (defrVoidCbkFnType) f;
if (!IOTimingCbk)
IOTimingCbk = (defrIOTimingCbkFnType) f;
if (!FPCStartCbk)
FPCStartCbk = (defrIntegerCbkFnType) f;
if (!FPCEndCbk)
FPCEndCbk = (defrVoidCbkFnType) f;
if (!FPCCbk)
FPCCbk = (defrFPCCbkFnType) f;
if (!TimingDisablesStartCbk)
TimingDisablesStartCbk = (defrIntegerCbkFnType) f;
if (!TimingDisablesEndCbk)
TimingDisablesEndCbk = (defrVoidCbkFnType) f;
if (!TimingDisableCbk)
TimingDisableCbk = (defrTimingDisableCbkFnType) f;
if (!PartitionsStartCbk)
PartitionsStartCbk = (defrIntegerCbkFnType) f;
if (!PartitionsEndCbk)
PartitionsEndCbk = (defrVoidCbkFnType) f;
if (!PartitionCbk)
PartitionCbk = (defrPartitionCbkFnType) f;
if (!PinPropStartCbk)
PinPropStartCbk = (defrIntegerCbkFnType) f;
if (!PinPropEndCbk)
PinPropEndCbk = (defrVoidCbkFnType) f;
if (!PinPropCbk)
PinPropCbk = (defrPinPropCbkFnType) f;
if (!CaseSensitiveCbk)
CaseSensitiveCbk = (defrIntegerCbkFnType) f;
if (!BlockageStartCbk)
BlockageStartCbk = (defrIntegerCbkFnType) f;
if (!BlockageEndCbk)
BlockageEndCbk = (defrVoidCbkFnType) f;
if (!BlockageCbk)
BlockageCbk = (defrBlockageCbkFnType) f;
if (!SlotStartCbk)
SlotStartCbk = (defrIntegerCbkFnType) f;
if (!SlotEndCbk)
SlotEndCbk = (defrVoidCbkFnType) f;
if (!SlotCbk)
SlotCbk = (defrSlotCbkFnType) f;
if (!FillStartCbk)
FillStartCbk = (defrIntegerCbkFnType) f;
if (!FillEndCbk)
FillEndCbk = (defrVoidCbkFnType) f;
if (!FillCbk)
FillCbk = (defrFillCbkFnType) f;
if (!NonDefaultStartCbk)
NonDefaultStartCbk = (defrIntegerCbkFnType) f;
if (!NonDefaultEndCbk)
NonDefaultEndCbk = (defrVoidCbkFnType) f;
if (!NonDefaultCbk)
NonDefaultCbk = (defrNonDefaultCbkFnType) f;
if (!StylesStartCbk)
StylesStartCbk = (defrIntegerCbkFnType) f;
if (!StylesEndCbk)
StylesEndCbk = (defrVoidCbkFnType) f;
if (!StylesCbk)
StylesCbk = (defrStylesCbkFnType) f;
if (!ExtensionCbk)
ExtensionCbk = (defrStringCbkFnType) f;
/* NEW CALLBACK - Each new callback must have an entry here. */
}
END_LEFDEF_PARSER_NAMESPACE