Exemplo n.º 1
0
    public bool IsPropertySetterFor(CefCallbackType getter)
    {
        var retval = IsPropertySetterForPrivate(getter);

        if (retval)
        {
            m_callMode = CfxCallMode.PropertySetter;
        }
        return(retval);
    }
Exemplo n.º 2
0
 public bool IsPropertySetterForPrivate(CefCallbackType getter)
 {
     if (!Signature.PublicReturnType.IsVoid)
     {
         return(false);
     }
     if (!(Signature.ManagedArguments.Count() == 2))
     {
         return(false);
     }
     if (!Signature.ManagedArguments[1].ArgumentType.Equals(getter.Signature.PublicReturnType))
     {
         if (!(getter.Signature.PublicReturnType.Name == "cef_string_userfree_t" && Signature.ManagedArguments[1].ArgumentType.IsCefStringPtrTypeConst))
         {
             return(false);
         }
     }
     if (!Name.Substring(1).Equals(getter.Name.Substring(1)))
     {
         return(false);
     }
     return(true);
 }
Exemplo n.º 3
0
    public void EmitPublicProperty(CodeBuilder b, CefCallbackType setter)
    {
        var propertyName = this.PublicName;

        if (Name.StartsWith("get_"))
        {
            propertyName = propertyName.Substring(3);
        }

        propertyName = CSharp.Escape(propertyName);

        b.BeginBlock("public {0} {1}", PublicReturnType.PublicSymbol, propertyName);

        b.BeginBlock("get");
        Signature.EmitPublicCall(b);
        b.EndBlock();
        if (setter != null)
        {
            b.BeginBlock("set", PublicReturnType.PublicSymbol);
            setter.Signature.EmitPublicCall(b);
            b.EndBlock();
        }
        b.EndBlock();
    }