public CefCallbackType(CefStructType parent, StructCategory category, string name, CefConfigData cefConfig, Parser.SignatureData sd, ApiTypeBuilder api, CommentData comments)
        : base(name)
    {
        this.Parent   = parent;
        this.Comments = comments;
        if (cefConfig == null)
        {
            CefConfig = new CefConfigData();
        }
        else
        {
            CefConfig = cefConfig;
        }

        if (category == StructCategory.ApiCallbacks)
        {
            m_callMode     = CfxCallMode.Callback;
            this.Signature = Signature.Create(SignatureType.ClientCallback, this, sd, api);
        }
        else
        {
            m_callMode     = CfxCallMode.FunctionCall;
            this.Signature = Signature.Create(SignatureType.LibraryCall, this, sd, api);
        }
    }
Exemple #2
0
    public CefCallbackFunction(CefStructType parent, StructCategory category, string name, CefConfigNode cefConfig, Parser.SignatureNode sd, ApiTypeBuilder api, CommentNode comments)
    {
        Name          = name;
        this.Parent   = parent;
        this.Comments = comments;
        if (cefConfig == null)
        {
            CefConfig = new CefConfigNode();
        }
        else
        {
            CefConfig = cefConfig;
        }

        if (category == StructCategory.Client)
        {
            m_callMode     = CfxCallMode.Callback;
            this.Signature = Signature.Create(SignatureType.ClientCallback, CefName, CefConfig, CallMode, sd, api);
        }
        else
        {
            m_callMode     = CfxCallMode.FunctionCall;
            this.Signature = Signature.Create(SignatureType.LibraryCall, CefName, CefConfig, CallMode, sd, api);
        }
    }
    private void BuildApiClasses(GeneratedFileManager fileManager, StructCategory category)
    {
        var b = new CodeBuilder();

        foreach (var t in decls.CefStructTypes)
        {
            if (t.ClassBuilder.Category == category)
            {
                b.BeginCfxNamespace();
                t.ClassBuilder.EmitPublicClass(b);
                b.EndBlock();
                fileManager.WriteFileIfContentChanged(t.ClassName + ".cs", b.ToString());
                b.Clear();
            }
        }
    }
Exemple #4
0
    public StructMember(CefStructType parent, StructCategory structCategory, Parser.StructMemberData smd, ApiTypeBuilder api)
    {
        Debug.Assert(structCategory == StructCategory.Values);
        Debug.Assert(smd.MemberType != null);

        Name      = smd.Name;
        Comments  = smd.Comments;
        cefConfig = smd.CefConfig;

        MemberType = api.GetApiType(smd.MemberType, false);
        if (MemberType.Name == "int" && Comments != null)
        {
            foreach (var c in Comments.Lines)
            {
                if (c.Contains("true") || c.Contains("false"))
                {
                    MemberType = BooleanInteger.Convert(MemberType);
                }
            }
        }
    }
Exemple #5
0
    protected CfxClass(CefStructType cefStruct, Parser.StructData sd, ApiTypeBuilder api)
    {
        CefStruct       = cefStruct;
        OriginalSymbol  = cefStruct.OriginalSymbol;
        CfxNativeSymbol = cefStruct.CfxNativeSymbol;
        CfxName         = cefStruct.CfxName;
        ClassName       = cefStruct.ClassName;
        ApiClassName    = ClassName.Substring(3);
        RemoteClassName = cefStruct.RemoteClassName;
        Comments        = sd.Comments;

        if (sd.CefConfig != null)
        {
            switch (sd.CefConfig.Source)
            {
            case "client":
                Category = StructCategory.ApiCallbacks;
                break;

            case "library":
                Category = StructCategory.ApiCalls;
                break;

            default:
                Debug.Assert(false);
                break;
            }
        }
        else
        {
            Debug.Assert(sd.StructMembers.Count == 1 || sd.StructMembers[1].CallbackSignature == null);
            Category = StructCategory.Values;
        }

        Debug.Assert(sd.CefFunctions.Count == 0 || Category == StructCategory.ApiCalls);
    }
 public CefPlatformStructType(string name, StructCategory category, CefPlatform platform)
     : base(name + "_" + platform.ToString().ToLowerInvariant(), category)
 {
     this.Platform = platform;
     baseTypeName  = name;
 }
Exemple #7
0
 public CefStructType(string name, StructCategory category)
     : base(name)
 {
     Category = category;
 }