Ejemplo n.º 1
0
        public ER CreateEventFlag(ID flgid, ref T_CFLG pk_cflg, out ID p_flgid)
        {
            int i;

            //if (pk_cflg == null)
            //	return ER.E_PAR;

            if (flgid == ID.ID_AUTO)
            {
                //if (p_flgid == null)
                //	return ER.E_PAR;

                flgid.Value = 1;

                for (i = 0; ; i++)
                {
                    if (i >= m_EventFlagTable.Count)
                    {
                        m_EventFlagTable.Add(new EventFlag(flgid, ref pk_cflg, this));
                        break;
                    }

                    if (flgid == m_EventFlagTable[i].FlgID)
                    {
                        flgid.Value++;
                    }
                    else
                    {
                        m_EventFlagTable.Insert(i, new EventFlag(flgid, ref pk_cflg, this));
                        break;
                    }
                }
                p_flgid = flgid;
            }
            else
            {
                ID tmpid;

                p_flgid = ID.NULL;

                for (i = 0; i < m_EventFlagTable.Count; i++)
                {
                    tmpid = m_EventFlagTable[i].FlgID;

                    if (flgid == tmpid)
                    {
                        return(ER.E_OBJ);
                    }
                    else if (flgid < tmpid)
                    {
                        break;
                    }
                }
                m_EventFlagTable.Insert(i, new EventFlag(flgid, ref pk_cflg, this));
            }

            return(ER.E_OK);
        }
Ejemplo n.º 2
0
 public EventFlag(ID flgid, ref T_CFLG pk_cflg, Nucleus pNucleus)
 {
     m_FlgID   = flgid;
     m_cflg    = pk_cflg;
     m_Nucleus = pNucleus;
 }
Ejemplo n.º 3
0
 public EventFlag(ID flgid, ref T_CFLG pk_cflg, Nucleus pNucleus)
 {
     m_FlgID = flgid;
     m_cflg = pk_cflg;
     m_Nucleus = pNucleus;
 }
Ejemplo n.º 4
0
        public ER cre_flg(ID flgid, ref T_CFLG pk_cflg, out ID p_flgid)
        {
            ER Result = ER.E_NOEXS;

            p_flgid = ID.NULL;

            if (g_Kernel == null)
                return ER.E_DLT;

            g_Kernel.LockCPU();
            try {
                Result = g_Kernel.Nucleus.CreateEventFlag(flgid, ref pk_cflg, out p_flgid);
            }
            finally {
                g_Kernel.UnlockCPU();
            }

            return Result;
        }
Ejemplo n.º 5
0
        public ER CreateEventFlag(ID flgid, ref T_CFLG pk_cflg, out ID p_flgid)
        {
            int i;

            //if (pk_cflg == null)
            //	return ER.E_PAR;

            if (flgid == ID.ID_AUTO) {
                //if (p_flgid == null)
                //	return ER.E_PAR;

                flgid.Value = 1;

                for (i = 0; ; i++) {
                    if (i >= m_EventFlagTable.Count) {
                        m_EventFlagTable.Add(new EventFlag(flgid, ref pk_cflg, this));
                        break;
                    }

                    if (flgid == m_EventFlagTable[i].FlgID) {
                        flgid.Value++;
                    }
                    else {
                        m_EventFlagTable.Insert(i, new EventFlag(flgid, ref pk_cflg, this));
                        break;
                    }
                }
                p_flgid = flgid;
            }
            else {
                ID tmpid;

                p_flgid = ID.NULL;

                for (i = 0; i < m_EventFlagTable.Count; i++) {
                    tmpid = m_EventFlagTable[i].FlgID;

                    if (flgid == tmpid) {
                        return ER.E_OBJ;
                    }
                    else if (flgid < tmpid) {
                        break;
                    }
                }
                m_EventFlagTable.Insert(i, new EventFlag(flgid, ref pk_cflg, this));
            }

            return ER.E_OK;
        }