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
Copyright © 2002 - 2010 Cadence Design Systems, Inc.
All Rights Reserved.