sdVisitor.h

Go to the documentation of this file.
00001 // *****************************************************************************
00002 // *****************************************************************************
00003 // sdVisitor.h
00004 //
00005 // This file contains the definition for the following classes.
00006 //
00007 //  sdVisitor
00008 //      This abstract class allows the application to define a derived class to 
00009 //      perform specific operation on each schema object.
00010 // 
00011 // *****************************************************************************
00012 // Except as specified in the OpenAccess terms of use of Cadence or Silicon
00013 // Integration Initiative, this material may not be copied, modified,
00014 // re-published, uploaded, executed, or distributed in any way, in any medium,
00015 // in whole or in part, without prior written permission from Cadence.
00016 //
00017 //                Copyright 2007 Cadence Design Systems, Inc.
00018 //                           All Rights Reserved.
00019 //
00020 //  $Author: icftcm $
00021 //  $Revision: #1 $
00022 //  $Date: 2007/03/20 $
00023 //  $State: Exp $
00024 // *****************************************************************************
00025 // *****************************************************************************
00026 
00027 
00028 
00029 #if !defined(sdVisitor_P)
00030 #define sdVisitor_P
00031 
00032 
00033 
00034 // *****************************************************************************
00035 // Nested includes
00036 // *****************************************************************************
00037 #include <map>
00038 #include "sdBaseTypes.h"
00039 
00040 
00041 
00042 // *****************************************************************************
00043 // Declare and define types in the schema definition namespace.
00044 // *****************************************************************************
00045 BEGIN_SD_NAMESPACE
00046 
00047 
00048 
00049 // *****************************************************************************
00050 // Forward Public Class Declarations
00051 // *****************************************************************************
00052 class sdLeafValue;
00053 class sdHierValue;
00054 class sdObject;
00055 class sdAttribute;
00056 class sdRelationship;
00057 class sdRelationshipSet;
00058 
00059 
00060 
00061 // *****************************************************************************
00062 // sdVisitor
00063 // *****************************************************************************
00064 class SD_DLL_API sdVisitor {
00065 public:
00066     virtual void            visit(const sdLeafValue *object) = 0;
00067     virtual void            visit(const sdHierValue *object) = 0;
00068     virtual void            visit(const sdAttribute *object) = 0;
00069     virtual void            visit(const sdRelationship *object) = 0;
00070     virtual void            visit(const sdRelationshipSet *object) = 0;
00071     virtual void            visit(const sdObject *object) = 0;
00072     virtual void            visit(const sdNameSpace *object) = 0;
00073 };
00074 
00075 
00076 
00077 END_SD_NAMESPACE
00078 
00079 #endif

Return to top of page