diff --git a/dotnet/IEC61850forCSharp/IEC61850ServerAPI.cs b/dotnet/IEC61850forCSharp/IEC61850ServerAPI.cs index 02b19d09..b3ecc646 100644 --- a/dotnet/IEC61850forCSharp/IEC61850ServerAPI.cs +++ b/dotnet/IEC61850forCSharp/IEC61850ServerAPI.cs @@ -271,6 +271,9 @@ namespace IEC61850 [DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr CDC_BCR_create(string name, IntPtr parent, uint options); + [DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr CDC_ENC_create(string name, IntPtr parent, uint options, uint controlOptions); + public const int CDC_OPTION_DESC = (1 << 2); public const int CDC_OPTION_DESC_UNICODE = (1 << 3); public const int CDC_OPTION_AC_DLNDA = (1 << 4); @@ -388,6 +391,16 @@ namespace IEC61850 else return null; } + + public static DataObject Create_CDC_ENC(ModelNode parent, string name, uint options, uint controlOptions) + { + IntPtr self = CDC_ENC_create(name, parent.self, options, controlOptions); + + if (self != IntPtr.Zero) + return new DataObject(self); + else + return null; + } } public class DataObject : ModelNode