internal static int countErrors(ResourceLimitsQosPolicy o) { int errorCount = 0; if (o.MaxSamples < 0 && o.MaxSamples != Length.Unlimited) { errorCount++; } if (o.MaxInstances < 0 && o.MaxInstances != Length.Unlimited) { errorCount++; } if (o.MaxSamplesPerInstance < 0 && o.MaxSamplesPerInstance != Length.Unlimited) { errorCount++; } if (o.MaxSamples != Length.Unlimited && o.MaxSamplesPerInstance != Length.Unlimited && o.MaxSamples < o.MaxSamplesPerInstance) { errorCount++; } return(errorCount); }
internal static void CopyOut(v_resourcePolicyI_s from, ref ResourceLimitsQosPolicy to) { if (to == null) { to = new ResourceLimitsQosPolicy(); } to.MaxSamples = from.v.max_samples; to.MaxInstances = from.v.max_instances; to.MaxSamplesPerInstance = from.v.max_samples_per_instance; }
public ReturnCode WaitForHistoricalDataWithCondition( string filterExpression, string[] filterParameters, Time minSourceTimeStamp, Time maxSourceTimeStamp, ResourceLimitsQosPolicy resourceLimits, Duration maxWait) { ReturnCode result; ReportStack.Start(); if (QosManager.countErrors(minSourceTimeStamp) > 0 || QosManager.countErrors(maxSourceTimeStamp) > 0 || QosManager.countErrors(resourceLimits) > 0 || QosManager.countErrors(maxWait) > 0) { result = DDS.ReturnCode.BadParameter; ReportStack.Report(result, "Invalid function parameter(s) passed."); } else { if (this.rlReq_isAlive) { using (SequenceStringToArrMarshaler marshaler = new SequenceStringToArrMarshaler()) { result = marshaler.CopyIn(filterParameters); if (result == ReturnCode.Ok) { uint length = filterParameters == null ? 0 : (uint)filterParameters.Length; result = uResultToReturnCode( User.DataReader.WaitForHistoricalDataWithCondition( rlReq_UserPeer, filterExpression, marshaler.UserPtr, length, minSourceTimeStamp.OsTimeW, maxSourceTimeStamp.OsTimeW, resourceLimits.MaxSamples, resourceLimits.MaxInstances, resourceLimits.MaxSamplesPerInstance, maxWait.OsDuration)); } } } else { result = DDS.ReturnCode.AlreadyDeleted; } } ReportStack.Flush(this, result != ReturnCode.Ok); return(result); }
internal static DDS.ReturnCode CopyIn(ResourceLimitsQosPolicy from, ref v_resourcePolicyI_s to) { DDS.ReturnCode result = DDS.ReturnCode.Ok; if (from != null) { to.v.max_samples = from.MaxSamples; to.v.max_instances = from.MaxInstances; to.v.max_samples_per_instance = from.MaxSamplesPerInstance; } else { result = DDS.ReturnCode.BadParameter; ReportStack.Report(result, "ResourceLimitsQosPolicy attribute may not be a null pointer."); } return(result); }
internal static void CopyOut(IntPtr from, ref ResourceLimitsQosPolicy to, int offset) { if (to == null) to = new ResourceLimitsQosPolicy(); to.MaxSamples = BaseMarshaler.ReadInt32(from, offset + offset_max_samples); to.MaxInstances = BaseMarshaler.ReadInt32(from, offset + offset_max_instances); to.MaxSamplesPerInstance = BaseMarshaler.ReadInt32(from, offset + offset_max_samples_per_instance); }
internal void CopyOut(ref ResourceLimitsQosPolicy to) { CopyOut(GapiPtr, ref to, 0); }
internal static DDS.ReturnCode CopyIn(ResourceLimitsQosPolicy from, IntPtr to, int offset) { DDS.ReturnCode result = DDS.ReturnCode.Ok; if (from != null) { BaseMarshaler.Write(to, offset + offset_max_samples, from.MaxSamples); BaseMarshaler.Write(to, offset + offset_max_instances, from.MaxInstances); BaseMarshaler.Write(to, offset + offset_max_samples_per_instance, from.MaxSamplesPerInstance); } else { result = DDS.ReturnCode.BadParameter; DDS.OpenSplice.OS.Report( DDS.OpenSplice.ReportType.OS_ERROR, "DDS.OpenSplice.CustomMarshalers.ResourceLimitsQosPolicyMarshaler.CopyIn", "DDS/OpenSplice/CustomMarshalers/QosContainedMarshalers.cs", DDS.ErrorCode.InvalidValue, "ResourceLimitsQosPolicy attribute may not be a null pointer."); } return result; }
internal DDS.ReturnCode CopyIn(ResourceLimitsQosPolicy from) { cleanupRequired = true; return CopyIn(from, GapiPtr, 0); }
public ModifiableResourceLimitsQosPolicy CopyFrom(ResourceLimitsQosPolicy other) { return new ModifiableResourceLimitsQosPolicyImpl(other); }
public ModifiableResourceLimitsQosPolicyImpl(ResourceLimitsQosPolicy qos) : base(qos.GetMaxSamples(),qos.GetMaxInstances(),qos.GetMaxSamplesPerInstance(),qos.GetBootstrap()) { }