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
© Овсеевич Р.В. Документация по CntmLib 1.1.4 от 28 May 2008. Создано системой 1.5.3 |