BasicAsyncProc.h

См. документацию.
00001 /*
00002  * CntmLib - Подсчет ссылок, потоки, синхронизация, асинхронные процедуры, события
00003  * Copyright (c) 2005, Овсеевич Роман, CntmLib@mail.ru
00004  * _______________________________________________________________________________
00005  * Разрешено свободное использование, копирование, распространение, изменение
00006  * (изменение сведений об авторских правах запрещено). Запрещена продажа и 
00007  * включение всей библиотеки или ее частей в другие библиотеки. В сведениях об
00008  * авторских правах на программу (или сведениях о программе, об авторах, 
00009  * использованных средствах разработки и т.д.) должна быть указана информация
00010  * о библиотеке CntmLib, ее авторе и, возможно, сайте или email'е.
00011  * Библиотека поставляется "как есть", без каких-либо гарантий со стороны автора.
00012  */ 
00013 
00014 #ifndef CNTM_BASICASYNCPROC_H
00015 #define CNTM_BASICASYNCPROC_H
00016 #include <Cntm/SystemUtils/SysThread.h>
00017 #include <Cntm/Utils/IntTypes.h>
00018 #include <Cntm/RefCount/RefPtr.h>
00019 
00020 namespace Cntm
00021 {
00022 
00023         /**
00024          * Базовый класс, содержащий ряд общих типов и констант.
00025          * @author Овсеевич Р.
00026          */
00027         class BasicAsyncProc
00028         {
00029         public:
00030         
00031                 /**
00032                  * Перечисление типов асинхронных процедур. 
00033                  */
00034                 enum ProcType
00035                 {
00036                         /**
00037                          * Асинхронная процедура, запускаемая в новом потоке.
00038                          */
00039                         ptThread,
00040 
00041                         /**
00042                          * Процедура, запускаемая отложенно, синхронизированно с указанным синхропространством.
00043                          */
00044                         ptDefer,
00045 
00046                         /**
00047                          * Процедура, вызываемая непосредственно в точке запуска.
00048                          */
00049                         ptDirect
00050                 };
00051         
00052                 /**
00053                  * Приоритет потока.
00054                  */
00055                 enum ThreadPriority
00056                 {
00057                         /**
00058                          * Обычный приоритет.
00059                          */
00060                         tpNormal = Cntm::SpecUtils::SysThread::prNormal,
00061                         
00062                         /**
00063                          * Пониженный приоритет.
00064                          */
00065                         tpLow = Cntm::SpecUtils::SysThread::prLow,
00066 
00067                         /**
00068                          * Повышенный приоритет.
00069                          */
00070                         tpHigh = Cntm::SpecUtils::SysThread::prHigh,
00071 
00072                         /**
00073                          * Наивысший приоритет. Может устанавливаться только root'ом.
00074                          */
00075                         tpTimeCritical = Cntm::SpecUtils::SysThread::prTimeCritical
00076                 };
00077 
00078         
00079                 /**
00080                  * Константа бесконечного времени ожидания завершения процедуры. 
00081                  */
00082                 static const uint tmInfinite;
00083         };
00084 
00085 }
00086                 
00087 #endif //CNTM_BASICASYNCPROC_H

SourceForge.net Logo
© Овсеевич Р.В. Документация по CntmLib 1.1.4 от 28 May 2008. Создано системой  doxygen 1.5.3