コード例 #1
0
 public override string RemoteProcedureCallArgument(string var)
 {
     return(CSharp.Escape(var));
 }
コード例 #2
0
 public override string PublicCallParameter(string var)
 {
     return("out IntPtr " + CSharp.Escape(var));
 }
コード例 #3
0
 public override string PublicWrapExpression(string var)
 {
     return(string.Format("0 != {0}", CSharp.Escape(var)));
 }
コード例 #4
0
 public override string ProxyUnwrapExpression(string var)
 {
     return(string.Format("({0})RemoteProxy.Unwrap({1})", Struct.ClassName, CSharp.Escape(var)));
 }
コード例 #5
0
 public override string RemoteUnwrapExpression(string var)
 {
     return(string.Format("CfrObject.Unwrap({0})", CSharp.Escape(var)));
 }
コード例 #6
0
 public void EmitRemoteRead(CodeBuilder b)
 {
     ArgumentType.EmitRemoteRead(b, CSharp.Escape(ProxyVarName));
 }
コード例 #7
0
 public override void EmitRemoteEventArgGetterStatements(CodeBuilder b, string var)
 {
     b.AppendLine("return 0 != call.{0};", CSharp.Escape(var));
 }
コード例 #8
0
ファイル: ApiType.cs プロジェクト: jooo000hn/ChromiumFX
 public virtual void EmitPostRemoteCallStatements(CodeBuilder b, string var)
 {
     if (IsOut)
     {
         b.AppendLine("{0} = {1};", var, RemoteWrapExpression("call." + (var == "this" ? "self" : CSharp.Escape(var))));
     }
 }
コード例 #9
0
ファイル: ApiType.cs プロジェクト: jooo000hn/ChromiumFX
 public virtual void EmitRemoteEventArgGetterStatements(CodeBuilder b, string var)
 {
     b.AppendLine("return {0};", RemoteWrapExpression("call." + CSharp.Escape(var)));
 }
コード例 #10
0
ファイル: ApiType.cs プロジェクト: jooo000hn/ChromiumFX
 public virtual string PublicEventConstructorArgument(string var)
 {
     return(CSharp.Escape(var));
 }
コード例 #11
0
ファイル: ApiType.cs プロジェクト: jooo000hn/ChromiumFX
 public virtual void EmitPreRemoteCallStatements(CodeBuilder b, string var)
 {
     b.AppendLine("call.{0} = {0};", CSharp.Escape(var));
 }
コード例 #12
0
ファイル: ApiType.cs プロジェクト: jooo000hn/ChromiumFX
 public virtual string ProxyUnwrapExpression(string var)
 {
     return(CSharp.Escape(var));
 }
コード例 #13
0
ファイル: ApiType.cs プロジェクト: jooo000hn/ChromiumFX
 public virtual string PInvokeOutArgument(string var)
 {
     return("out " + CSharp.Escape(var));
 }
コード例 #14
0
 public override string RemoteUnwrapExpression(string var)
 {
     return(string.Format("(UIntPtr){0}", CSharp.Escape(var)));
 }
コード例 #15
0
 public void EmitRemoteRead(CodeBuilder b)
 {
     ParameterType.EmitRemoteRead(b, CSharp.Escape(PublicVarName));
 }
コード例 #16
0
ファイル: ApiType.cs プロジェクト: jooo000hn/ChromiumFX
 public virtual void EmitRemoteEventArgSetterStatements(CodeBuilder b, string var)
 {
     b.AppendLine("call.{0} = {1};", CSharp.Escape(var), RemoteUnwrapExpression("value"));
 }
コード例 #17
0
 public virtual void EmitRemoteCallFields(CodeBuilder b)
 {
     ArgumentType.EmitRemoteCallFields(b, CSharp.Escape(ProxyVarName));
 }
コード例 #18
0
ファイル: ApiType.cs プロジェクト: jooo000hn/ChromiumFX
 public virtual void EmitValueStructGetterVars(CodeBuilder b, string var)
 {
     b.AppendLine("{0} {1};", PInvokeSymbol, CSharp.Escape(var));
 }
コード例 #19
0
 public override void EmitRemotePreCallStatements(CodeBuilder b, string var)
 {
     b.AppendLine("if(!CfrObject.CheckConnection({0}, connection)) throw new ArgumentException(\"Render process connection mismatch.\", \"{1}\");", CSharp.Escape(var), var);
     b.AppendLine("call.{0} = CfrBaseRefCounted.Unwrap({0}).ptr;", CSharp.Escape(var));
 }
コード例 #20
0
 public override void EmitPrePublicCallStatements(CodeBuilder b, string var)
 {
     b.AppendLine("var {0}_pinned = new PinnedString({1});", var, CSharp.Escape(var));
 }
コード例 #21
0
 public override string PublicUnwrapExpression(string var)
 {
     return(string.Format("{0}.Unwrap({1})", Struct.ClassName, CSharp.Escape(var)));
 }
コード例 #22
0
 public override void EmitPostRemoteRaiseEventStatements(CodeBuilder b, string var)
 {
     b.AppendLine("{0} = e.m_{1}_wrapped;", CSharp.Escape(var), var);
 }
コード例 #23
0
 public override string ProxyWrapExpression(string var)
 {
     return(string.Format("RemoteProxy.Wrap({0})", CSharp.Escape(var)));
 }
コード例 #24
0
 public override string[] RemoteCallbackParameterList(string var)
 {
     return(new string[] { "out string " + CSharp.Escape(var) });
 }
コード例 #25
0
 public override void EmitPreRemoteCallStatements(CodeBuilder b, string var)
 {
     b.AppendLine("call.{0} = {0}.ptr;", CSharp.Escape(var));
 }
コード例 #26
0
    public override void EmitRemotePreCallStatements(CodeBuilder b, string var)
    {
        switch (RemoteSymbol)
        {
        case "RemotePtr":
            b.AppendLine("if({0}.connection != connection) throw new ArgumentException(\"Render process connection mismatch.\", \"{1}\");", CSharp.Escape(var), var);
            b.AppendLine("call.{0} = {0}.ptr;", CSharp.Escape(var));
            return;

        default:
            base.EmitRemotePreCallStatements(b, var);
            return;
        }
    }
コード例 #27
0
 public override string PublicCallArgument(string var)
 {
     return("out " + CSharp.Escape(var));
 }
コード例 #28
0
 public virtual void EmitRemoteCallFields(CodeBuilder b)
 {
     ParameterType.EmitRemoteCallFields(b, CSharp.Escape(PublicVarName));
 }
コード例 #29
0
 public override string PublicUnwrapExpression(string var)
 {
     return(string.Format("{0} ? 1 : 0", CSharp.Escape(var)));
 }
コード例 #30
0
 public override void EmitRemoteEventArgGetterStatements(CodeBuilder b, string var)
 {
     b.AppendLine("if(m_{0}_wrapped == null) m_{0}_wrapped = {1}.Wrap(new RemotePtr(connection, call.{2}));", var, Struct.RemoteClassName, CSharp.Escape(var));
     b.AppendLine("return m_{0}_wrapped;", var);
 }