Olm Power Down Task
[transportpce.git] / renderer / src / main / java / org / opendaylight / transportpce / renderer / provisiondevice / notification / Notification.java
1 /*
2  * Copyright © 2024 Smartoptics and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.transportpce.renderer.provisiondevice.notification;
10
11 import java.util.Set;
12 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.RendererRpcResultSp;
13 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.renderer.rpc.result.sp.Link;
14 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev230501.PathDescription;
15 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.RpcStatusEx;
16 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.ServicePathNotificationTypes;
17
18 public interface Notification {
19
20     /**
21      * Send renderer notification.
22      */
23     void send(ServicePathNotificationTypes servicePathNotificationTypes,
24               String serviceName,
25               RpcStatusEx rpcStatusEx,
26               String message);
27
28     /**
29      * Send renderer notification.
30      */
31     void send(org.opendaylight.yangtools.yang.binding.Notification notification);
32
33     /**
34      * Build notification containing path description information.
35      *
36      * @param servicePathNotificationTypes ServicePathNotificationTypes
37      * @param serviceName String
38      * @param rpcStatusEx RpcStatusEx
39      * @param message String
40      * @param pathDescription PathDescription
41      * @return notification with RendererRpcResultSp type.
42      */
43     RendererRpcResultSp buildNotification(
44             ServicePathNotificationTypes servicePathNotificationTypes,
45             String serviceName,
46             RpcStatusEx rpcStatusEx,
47             String message,
48             PathDescription pathDescription,
49             Link notifLink,
50             Set<String> supportedLinks,
51             String serviceType);
52
53 }