| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace IACommService4CSharp
- {
- public class DataItem_t : IDisposable
- {
- private IDataItem4CSharp m_item;
- private bool m_disposed = false;
- private bool m_isReference = false;
- public DataItem_t()
- {
- m_item = DataItemFactory4CSharp.Create();
- if (null == m_item)
- throw new IACommServiceException(ErrorCode.InternalError);
- }
- public DataItem_t(DataValue_t value, uint status = ErrorCode.Good, long time = 0)
- {
- m_item = DataItemFactory4CSharp.Create();
- if (null == m_item)
- throw new IACommServiceException(ErrorCode.InternalError);
- Value = value;
- Status = status;
- Time = time;
- }
- public DataItem_t(object value, uint status = ErrorCode.Good, long time = 0)
- {
- m_item = DataItemFactory4CSharp.Create();
- if (null == m_item)
- throw new IACommServiceException(ErrorCode.InternalError);
- var temp = new DataValue_t(value);
- Value = temp;
- Status = status;
- Time = time;
- temp.Dispose();
- }
- //Internal use
- public DataItem_t(IDataItem4CSharp item)
- {
- m_item = item;
- if (null == m_item)
- throw new IACommServiceException(ErrorCode.InternalError);
- m_isReference = true;
- }
- ~DataItem_t()
- {
- Dispose(false);
- }
- public uint Status
- {
- get
- {
- return m_item.Status();
- }
- set
- {
- m_item.Status(value);
- }
- }
- public long Time
- {
- get
- {
- return m_item.Time();
- }
- set
- {
- m_item.Time(value);
- }
- }
- public DataValue_t Value
- {
- get
- {
- return new DataValue_t(m_item.Value());
- }
- set
- {
- if (value is null)
- throw new IACommServiceException(ErrorCode.InvalidArgument);
- uint status = m_item.Value(value.Internal);
- if (status != ErrorCode.Good)
- throw new IACommServiceException(status);
- }
- }
- public void Dispose()
- {
- Dispose(true);
- GC.SuppressFinalize(this);
- }
- protected virtual void Dispose(bool disposeManaged)
- {
- if (!m_disposed)
- {
- if (disposeManaged)
- {
- //do nothing
- }
- if (!m_isReference)
- DataItemFactory4CSharp.Destroy(m_item);
- m_item = null;
- m_disposed = true;
- }
- }
- public IDataItem4CSharp Internal
- {
- get
- {
- return m_item;
- }
- }
- }
- }
|