/*
 * Copyright 2017, Data61, CSIRO (ABN 41 687 119 230)
 *
 * SPDX-License-Identifier: BSD-2-Clause
 */

#include <plat/timers.h>

import <Timer.idl4>;
import <PutChar.idl4>;
import <timers.camkes>;

#ifdef HARDWARE_TIMER_COMPONENT
    HARDWARE_TIMER_COMPONENT
#endif

component TimeServer {
    has mutex time_server;
    maybe uses PutChar putchar;

    emits Notification timer_notification;

    provides Timer the_timer;

    attribute int timers_per_client;
    attribute int heap_size = 8192;

    HARDWARE_TIMER_INTERFACES
    HARDWARE_TIMER_ATTRIBUTES

    composition {
        HARDWARE_TIMER_COMPOSITION
    }

    configuration {
        HARDWARE_TIMER_CONFIG
    }
}
