mummy  1.0.2
MummyCsharpShadowLayerGenerator.h
Go to the documentation of this file.
00001 //----------------------------------------------------------------------------
00002 // MummyCsharpShadowLayerGenerator.h
00003 //
00004 // Author(s) : David Cole
00005 //
00006 // Copyright (C) 2006-2007 Kitware, Inc.
00007 //----------------------------------------------------------------------------
00008 
00009 #include "MummyGenerator.h" // parent class
00010 
00011 #include "gxsys/stl/string"
00012 #include "gxsys/stl/vector"
00013 
00014 class MummyCsharpGenerator;
00015 
00016 class MummyCsharpShadowLayerGenerator : public MummyGenerator
00017 {
00018 public:
00019   MummyCsharpShadowLayerGenerator();
00020   virtual ~MummyCsharpShadowLayerGenerator();
00021 
00022   virtual bool GenerateWrappers();
00023 
00024   virtual MummyCsharpGenerator* GetCsharpGenerator();
00025   virtual void SetCsharpGenerator(MummyCsharpGenerator* generator);
00026 
00027   virtual const char *GetArgName(cable::FunctionType *ftype, unsigned int i);
00028 
00029   virtual void EmitClassMethodDeclarationForShadowLayer(gxsys_ios::ostream &os, const cable::Class *c, const cable::Method *m, const unsigned int index, int indent, const char* implClassName);
00030   virtual void EmitClassDeclarationForShadowLayer(gxsys_ios::ostream &os, const cable::Class *c, const gxsys_stl::vector<cable::Method*>& wrapped_methods, cable::Method* factoryM, cable::Method* disposalM, cable::Method* registerM, cable::Method* unRegisterM);
00031   virtual void EmitClassImplementationForShadowLayer(gxsys_ios::ostream &os, const cable::Class *c, const gxsys_stl::vector<cable::Method*>& wrapped_methods, cable::Method* factoryM, cable::Method* disposalM, cable::Method* registerM, cable::Method* unRegisterM);
00032   virtual void EmitClassForShadowLayer(gxsys_ios::ostream &os, const cable::Class *c);
00033 
00034 private:
00035   MummyCsharpGenerator* CsharpGenerator;
00036 
00037   MummyCsharpShadowLayerGenerator(const MummyCsharpShadowLayerGenerator&); //Not implemented
00038   MummyCsharpShadowLayerGenerator& operator=(const MummyCsharpShadowLayerGenerator&); //Not implemented
00039 };