IResources. Интерфейс к ресурсам Назад В начало Вперед

Файл: Example\Src\VIP\Common\IResources.vih

Издание 01.2007. Добавлены директивы документирования.

//******************************************************************************
//													(c) корпорация Галактика
// Демопроект 1.0 - Ядро приложения
// Интерфейс взаимодействия с ресурсами
//******************************************************************************

#ifndef __IResources__
#define __IResources__

#component "C_CORE"

//******************************************************************************
#doc
 Интерфейс взаимодействия с ресурсами общего вида.
#end

objInterface IResources;

//------------------------------------------------------------------------------

#doc
  <p>Во встроенном интерфейсе изменились плановые расходы на ресурс.
  Событие передается из встроенного интерфейса в контейнер.</brief>
  <p>Параметры:
  <ul>
	<li>d - величина изменения
  </ul>
#end

  event procedure SumChanged(d : double);

//------------------------------------------------------------------------------

#doc
  <p>Процедура для передачи извещения во встроенный интерфейс
  о том, что в контейнере сменился текущий хозяин ресурсов.</brief>
  <p>Параметры:
  <ul>
	<li>cNewMaster - NRec нового хозяина
  </ul>
#end

  procedure MasterChanged(cNewMaster : comp);

//------------------------------------------------------------------------------

#doc
  <p>Функция проверяет наличие ресурсов у заданного владельца.</brief>
  <p>Параметры:
  <ul>
	<li>cMaster - NRec владельца ресурсов
  </ul>
  <p>Возвращаемое значение:
  <ul>
	<li>true  - у владельца нет ресурсов
	<li>false - у владельца есть ресурсы
  </ul>
#end

  function IsEmpty(cMaster : comp) : boolean;

//------------------------------------------------------------------------------

#doc
  <p>Функция удаляет все ресурсы у заданного владельца.</brief>
  <p>Параметры:
  <ul>
	<li>cMaster - NRec владельца ресурсов
  </ul>
  <p>Возвращаемое значение:
  <ul>
	<li>true  - удаление прошло успешно
	<li>false - в противном случае
  </ul>
#end

  function DeleteAll(cMaster : comp) : boolean;

//------------------------------------------------------------------------------

#doc
  <p>Функция копирует ресурсы владельца cFrom владельцу cTo.</brief>
  <p>Если копируемый ресурс у владельца-приемника уже есть,
  то его количество увеличивается, новая запись не создается.
  <p>Параметры:
  <ul>
	<li>cFrom   - NRec владельца, чьи ресурсы копируются
	<li>cTo	 - NRec владельца, куда ресурсы копируются
	<li>status  - вид расчета (значение поля Status)
	<li>sumP	- общая плановая стоимость ресурса
	<li>sumF	- общая фактическая стоимость ресурса
  </ul>
  <p>Возвращаемое значение:
  <ul>
	true  - копирование прошло успешно
	false - в противном случае
  </ul>
#end

  function CopyAll(cFrom, cTo : comp; status : byte; var sumP, sumF : double) : boolean;

end;

//******************************************************************************

vipInterface MaterialsEdit implements IResources licensed(free);
public:
  constructor Init;
  constructor InitMasterCode (masterCode : word);
end;

//******************************************************************************

vipInterface ExecutorsEdit implements IResources licensed(free);
public:
  constructor Init;
  constructor InitMasterCode (masterCode : word);
end;

#endif