├── README.md
├── c
├── Include
│ ├── Packet32.h
│ ├── Win32-Extensions.h
│ ├── bittypes.h
│ ├── ip6_misc.h
│ ├── pcap-bpf.h
│ ├── pcap-namedb.h
│ ├── pcap-stdinc.h
│ ├── pcap.h
│ ├── pcap
│ │ ├── bluetooth.h
│ │ ├── bpf.h
│ │ ├── namedb.h
│ │ ├── pcap.h
│ │ ├── sll.h
│ │ ├── usb.h
│ │ └── vlan.h
│ └── remote-ext.h
├── Lib
│ ├── Packet.lib
│ ├── libpacket.a
│ ├── libwpcap.a
│ ├── wpcap.lib
│ └── x64
│ │ ├── Packet.lib
│ │ └── wpcap.lib
├── htpasswd.txt
├── src
│ ├── ctypes.c
│ ├── ctypes.h
│ ├── datatypes.c
│ ├── datatypes.h
│ ├── decodePacket.c
│ ├── decodePacket.h
│ ├── encodePacket.c
│ ├── encodePacket.h
│ ├── gse.c
│ ├── gse.h
│ ├── gseDecode.c
│ ├── gseDecode.h
│ ├── gseDecodeBasic.c
│ ├── gseDecodeBasic.h
│ ├── gseDecodePacket.c
│ ├── gseEncode.c
│ ├── gseEncode.h
│ ├── gseEncodeBasic.c
│ ├── gseEncodeBasic.h
│ ├── gseEncodePacket.c
│ ├── gsePacketData.h
│ ├── iec61850.c
│ ├── iec61850.h
│ ├── ied.c
│ ├── ied.h
│ ├── interface.c
│ ├── interface.h
│ ├── interfaceSendPacket.c
│ ├── interfaceSendPacket.h
│ ├── json
│ │ ├── dataModelIndex.c
│ │ ├── dataModelIndex.h
│ │ ├── json.c
│ │ ├── json.h
│ │ ├── mongoose.c
│ │ └── mongoose.h
│ ├── main.c
│ ├── main_SV_LE.c
│ ├── main_json.c
│ ├── main_json_ied_monitor.c
│ ├── rapid61850.i
│ ├── sv.c
│ ├── sv.h
│ ├── svDecode.c
│ ├── svDecode.h
│ ├── svDecodeBasic.c
│ ├── svDecodeBasic.h
│ ├── svDecodePacket.c
│ ├── svEncode.c
│ ├── svEncode.h
│ ├── svEncodeBasic.c
│ ├── svEncodeBasic.h
│ ├── svEncodePacket.c
│ └── svPacketData.h
└── ssl_cert.pem
├── emf
├── model
│ ├── SCL.genmodel
│ ├── SCL.xsd
│ ├── SCL_BaseSimpleTypes.xsd
│ ├── SCL_BaseTypes.xsd
│ ├── SCL_Communication.xsd
│ ├── SCL_Coordinates.xsd
│ ├── SCL_DataTypeTemplates.xsd
│ ├── SCL_Enums.xsd
│ ├── SCL_IED.xsd
│ ├── SCL_Maintenance.xsd
│ ├── SCL_Substation.xsd
│ ├── lcoordinates.ecore
│ ├── lmaintenance.ecore
│ └── scl.ecore
├── src
│ ├── ch
│ │ └── iec
│ │ │ └── _61850
│ │ │ └── _2006
│ │ │ ├── sc
│ │ │ ├── lcoordinates
│ │ │ │ ├── CoordType.java
│ │ │ │ ├── DocumentRoot.java
│ │ │ │ ├── LcoordinatesFactory.java
│ │ │ │ ├── LcoordinatesPackage.java
│ │ │ │ ├── TConndir.java
│ │ │ │ ├── impl
│ │ │ │ │ ├── CoordTypeImpl.java
│ │ │ │ │ ├── DocumentRootImpl.java
│ │ │ │ │ ├── LcoordinatesFactoryImpl.java
│ │ │ │ │ └── LcoordinatesPackageImpl.java
│ │ │ │ └── util
│ │ │ │ │ ├── LcoordinatesAdapterFactory.java
│ │ │ │ │ ├── LcoordinatesResourceFactoryImpl.java
│ │ │ │ │ ├── LcoordinatesResourceImpl.java
│ │ │ │ │ ├── LcoordinatesSwitch.java
│ │ │ │ │ └── LcoordinatesXMLProcessor.java
│ │ │ └── lmaintenance
│ │ │ │ ├── CondDescType.java
│ │ │ │ ├── DocumentRoot.java
│ │ │ │ ├── LmaintenanceFactory.java
│ │ │ │ ├── LmaintenancePackage.java
│ │ │ │ ├── TMopEnum.java
│ │ │ │ ├── impl
│ │ │ │ ├── CondDescTypeImpl.java
│ │ │ │ ├── DocumentRootImpl.java
│ │ │ │ ├── LmaintenanceFactoryImpl.java
│ │ │ │ └── LmaintenancePackageImpl.java
│ │ │ │ └── util
│ │ │ │ ├── LmaintenanceAdapterFactory.java
│ │ │ │ ├── LmaintenanceResourceFactoryImpl.java
│ │ │ │ ├── LmaintenanceResourceImpl.java
│ │ │ │ ├── LmaintenanceSwitch.java
│ │ │ │ ├── LmaintenanceValidator.java
│ │ │ │ └── LmaintenanceXMLProcessor.java
│ │ │ └── scl
│ │ │ ├── AuthenticationType.java
│ │ │ ├── DocumentRoot.java
│ │ │ ├── HistoryType.java
│ │ │ ├── LN0Type.java
│ │ │ ├── NameStructureType.java
│ │ │ ├── OptFieldsType.java
│ │ │ ├── SCLType.java
│ │ │ ├── SclFactory.java
│ │ │ ├── SclPackage.java
│ │ │ ├── SettingGroupsType.java
│ │ │ ├── SmvOptsType.java
│ │ │ ├── TAbstractConductingEquipment.java
│ │ │ ├── TAbstractDataAttribute.java
│ │ │ ├── TAccessControl.java
│ │ │ ├── TAccessPoint.java
│ │ │ ├── TAddress.java
│ │ │ ├── TAnyContentFromOtherNamespace.java
│ │ │ ├── TAnyLN.java
│ │ │ ├── TAssociation.java
│ │ │ ├── TAssociationKindEnum.java
│ │ │ ├── TAuthenticationEnum.java
│ │ │ ├── TBDA.java
│ │ │ ├── TBaseElement.java
│ │ │ ├── TBay.java
│ │ │ ├── TBitRateInMbPerSec.java
│ │ │ ├── TClientLN.java
│ │ │ ├── TClientServices.java
│ │ │ ├── TCommunication.java
│ │ │ ├── TConductingEquipment.java
│ │ │ ├── TConfLNs.java
│ │ │ ├── TConnectedAP.java
│ │ │ ├── TConnectivityNode.java
│ │ │ ├── TControl.java
│ │ │ ├── TControlBlock.java
│ │ │ ├── TControlWithIEDName.java
│ │ │ ├── TControlWithTriggerOpt.java
│ │ │ ├── TDA.java
│ │ │ ├── TDAI.java
│ │ │ ├── TDAType.java
│ │ │ ├── TDO.java
│ │ │ ├── TDOI.java
│ │ │ ├── TDOType.java
│ │ │ ├── TDataSet.java
│ │ │ ├── TDataTypeTemplates.java
│ │ │ ├── TDomainLNGroupAEnum.java
│ │ │ ├── TDomainLNGroupCEnum.java
│ │ │ ├── TDomainLNGroupGEnum.java
│ │ │ ├── TDomainLNGroupIEnum.java
│ │ │ ├── TDomainLNGroupMEnum.java
│ │ │ ├── TDomainLNGroupPEnum.java
│ │ │ ├── TDomainLNGroupREnum.java
│ │ │ ├── TDomainLNGroupSEnum.java
│ │ │ ├── TDomainLNGroupTEnum.java
│ │ │ ├── TDomainLNGroupXEnum.java
│ │ │ ├── TDomainLNGroupYEnum.java
│ │ │ ├── TDomainLNGroupZEnum.java
│ │ │ ├── TDurationInMilliSec.java
│ │ │ ├── TDurationInSec.java
│ │ │ ├── TEnumType.java
│ │ │ ├── TEnumVal.java
│ │ │ ├── TEquipment.java
│ │ │ ├── TEquipmentContainer.java
│ │ │ ├── TExtRef.java
│ │ │ ├── TFCCB.java
│ │ │ ├── TFCDA.java
│ │ │ ├── TFCEnum.java
│ │ │ ├── TFunction.java
│ │ │ ├── TGSE.java
│ │ │ ├── TGSEControl.java
│ │ │ ├── TGSEControlTypeEnum.java
│ │ │ ├── TGSESettings.java
│ │ │ ├── TGeneralEquipment.java
│ │ │ ├── THeader.java
│ │ │ ├── THitem.java
│ │ │ ├── TIDNaming.java
│ │ │ ├── TIED.java
│ │ │ ├── TInputs.java
│ │ │ ├── TLDevice.java
│ │ │ ├── TLLN0Enum.java
│ │ │ ├── TLN.java
│ │ │ ├── TLN0.java
│ │ │ ├── TLNode.java
│ │ │ ├── TLNodeContainer.java
│ │ │ ├── TLNodeType.java
│ │ │ ├── TLPHDEnum.java
│ │ │ ├── TLog.java
│ │ │ ├── TLogControl.java
│ │ │ ├── TLogSettings.java
│ │ │ ├── TNaming.java
│ │ │ ├── TP.java
│ │ │ ├── TPAPPID.java
│ │ │ ├── TPIP.java
│ │ │ ├── TPIPGATEWAY.java
│ │ │ ├── TPIPSUBNET.java
│ │ │ ├── TPMACAddress.java
│ │ │ ├── TPOSIAEInvoke.java
│ │ │ ├── TPOSIAEQualifier.java
│ │ │ ├── TPOSIAPInvoke.java
│ │ │ ├── TPOSIAPTitle.java
│ │ │ ├── TPOSINSAP.java
│ │ │ ├── TPOSIPSEL.java
│ │ │ ├── TPOSISSEL.java
│ │ │ ├── TPOSITSEL.java
│ │ │ ├── TPVLANID.java
│ │ │ ├── TPVLANPRIORITY.java
│ │ │ ├── TPhaseEnum.java
│ │ │ ├── TPhysConn.java
│ │ │ ├── TPowerSystemResource.java
│ │ │ ├── TPowerTransformer.java
│ │ │ ├── TPowerTransformerEnum.java
│ │ │ ├── TPredefinedAttributeNameEnum.java
│ │ │ ├── TPredefinedBasicTypeEnum.java
│ │ │ ├── TPredefinedCDCEnum.java
│ │ │ ├── TPredefinedCommonConductingEquipmentEnum.java
│ │ │ ├── TPredefinedGeneralEquipmentEnum.java
│ │ │ ├── TPredefinedPTypeEnum.java
│ │ │ ├── TPrivate.java
│ │ │ ├── TReportControl.java
│ │ │ ├── TReportSettings.java
│ │ │ ├── TRptEnabled.java
│ │ │ ├── TSCLControl.java
│ │ │ ├── TSDI.java
│ │ │ ├── TSDO.java
│ │ │ ├── TSIUnitEnum.java
│ │ │ ├── TSMV.java
│ │ │ ├── TSMVSettings.java
│ │ │ ├── TSampledValueControl.java
│ │ │ ├── TServer.java
│ │ │ ├── TServiceFCEnum.java
│ │ │ ├── TServiceSettings.java
│ │ │ ├── TServiceSettingsEnum.java
│ │ │ ├── TServiceWithMax.java
│ │ │ ├── TServiceWithMaxAndMaxAttributes.java
│ │ │ ├── TServiceWithMaxAndMaxAttributesAndModify.java
│ │ │ ├── TServiceWithMaxAndModify.java
│ │ │ ├── TServiceYesNo.java
│ │ │ ├── TServices.java
│ │ │ ├── TSettingControl.java
│ │ │ ├── TSubEquipment.java
│ │ │ ├── TSubFunction.java
│ │ │ ├── TSubNetwork.java
│ │ │ ├── TSubstation.java
│ │ │ ├── TTapChanger.java
│ │ │ ├── TTerminal.java
│ │ │ ├── TText.java
│ │ │ ├── TTransformerWinding.java
│ │ │ ├── TTransformerWindingEnum.java
│ │ │ ├── TTrgOps.java
│ │ │ ├── TTrgOptControlEnum.java
│ │ │ ├── TTrgOptEnum.java
│ │ │ ├── TUnNaming.java
│ │ │ ├── TUnitMultiplierEnum.java
│ │ │ ├── TVal.java
│ │ │ ├── TValKindEnum.java
│ │ │ ├── TValueWithUnit.java
│ │ │ ├── TVoltage.java
│ │ │ ├── TVoltageLevel.java
│ │ │ ├── impl
│ │ │ ├── AuthenticationTypeImpl.java
│ │ │ ├── DocumentRootImpl.java
│ │ │ ├── HistoryTypeImpl.java
│ │ │ ├── LN0TypeImpl.java
│ │ │ ├── OptFieldsTypeImpl.java
│ │ │ ├── SCLTypeImpl.java
│ │ │ ├── SclFactoryImpl.java
│ │ │ ├── SclPackageImpl.java
│ │ │ ├── SettingGroupsTypeImpl.java
│ │ │ ├── SmvOptsTypeImpl.java
│ │ │ ├── TAbstractConductingEquipmentImpl.java
│ │ │ ├── TAbstractDataAttributeImpl.java
│ │ │ ├── TAccessControlImpl.java
│ │ │ ├── TAccessPointImpl.java
│ │ │ ├── TAddressImpl.java
│ │ │ ├── TAnyContentFromOtherNamespaceImpl.java
│ │ │ ├── TAnyLNImpl.java
│ │ │ ├── TAssociationImpl.java
│ │ │ ├── TBDAImpl.java
│ │ │ ├── TBaseElementImpl.java
│ │ │ ├── TBayImpl.java
│ │ │ ├── TBitRateInMbPerSecImpl.java
│ │ │ ├── TClientLNImpl.java
│ │ │ ├── TClientServicesImpl.java
│ │ │ ├── TCommunicationImpl.java
│ │ │ ├── TConductingEquipmentImpl.java
│ │ │ ├── TConfLNsImpl.java
│ │ │ ├── TConnectedAPImpl.java
│ │ │ ├── TConnectivityNodeImpl.java
│ │ │ ├── TControlBlockImpl.java
│ │ │ ├── TControlImpl.java
│ │ │ ├── TControlWithIEDNameImpl.java
│ │ │ ├── TControlWithTriggerOptImpl.java
│ │ │ ├── TDAIImpl.java
│ │ │ ├── TDAImpl.java
│ │ │ ├── TDATypeImpl.java
│ │ │ ├── TDOIImpl.java
│ │ │ ├── TDOImpl.java
│ │ │ ├── TDOTypeImpl.java
│ │ │ ├── TDataSetImpl.java
│ │ │ ├── TDataTypeTemplatesImpl.java
│ │ │ ├── TDurationInMilliSecImpl.java
│ │ │ ├── TDurationInSecImpl.java
│ │ │ ├── TEnumTypeImpl.java
│ │ │ ├── TEnumValImpl.java
│ │ │ ├── TEquipmentContainerImpl.java
│ │ │ ├── TEquipmentImpl.java
│ │ │ ├── TExtRefImpl.java
│ │ │ ├── TFCCBImpl.java
│ │ │ ├── TFCDAImpl.java
│ │ │ ├── TFunctionImpl.java
│ │ │ ├── TGSEControlImpl.java
│ │ │ ├── TGSEImpl.java
│ │ │ ├── TGSESettingsImpl.java
│ │ │ ├── TGeneralEquipmentImpl.java
│ │ │ ├── THeaderImpl.java
│ │ │ ├── THitemImpl.java
│ │ │ ├── TIDNamingImpl.java
│ │ │ ├── TIEDImpl.java
│ │ │ ├── TInputsImpl.java
│ │ │ ├── TLDeviceImpl.java
│ │ │ ├── TLN0Impl.java
│ │ │ ├── TLNImpl.java
│ │ │ ├── TLNodeContainerImpl.java
│ │ │ ├── TLNodeImpl.java
│ │ │ ├── TLNodeTypeImpl.java
│ │ │ ├── TLogControlImpl.java
│ │ │ ├── TLogImpl.java
│ │ │ ├── TLogSettingsImpl.java
│ │ │ ├── TNamingImpl.java
│ │ │ ├── TPAPPIDImpl.java
│ │ │ ├── TPIPGATEWAYImpl.java
│ │ │ ├── TPIPImpl.java
│ │ │ ├── TPIPSUBNETImpl.java
│ │ │ ├── TPImpl.java
│ │ │ ├── TPMACAddressImpl.java
│ │ │ ├── TPOSIAEInvokeImpl.java
│ │ │ ├── TPOSIAEQualifierImpl.java
│ │ │ ├── TPOSIAPInvokeImpl.java
│ │ │ ├── TPOSIAPTitleImpl.java
│ │ │ ├── TPOSINSAPImpl.java
│ │ │ ├── TPOSIPSELImpl.java
│ │ │ ├── TPOSISSELImpl.java
│ │ │ ├── TPOSITSELImpl.java
│ │ │ ├── TPVLANIDImpl.java
│ │ │ ├── TPVLANPRIORITYImpl.java
│ │ │ ├── TPhysConnImpl.java
│ │ │ ├── TPowerSystemResourceImpl.java
│ │ │ ├── TPowerTransformerImpl.java
│ │ │ ├── TPrivateImpl.java
│ │ │ ├── TReportControlImpl.java
│ │ │ ├── TReportSettingsImpl.java
│ │ │ ├── TRptEnabledImpl.java
│ │ │ ├── TSCLControlImpl.java
│ │ │ ├── TSDIImpl.java
│ │ │ ├── TSDOImpl.java
│ │ │ ├── TSMVImpl.java
│ │ │ ├── TSMVSettingsImpl.java
│ │ │ ├── TSampledValueControlImpl.java
│ │ │ ├── TServerImpl.java
│ │ │ ├── TServiceSettingsImpl.java
│ │ │ ├── TServiceWithMaxAndMaxAttributesAndModifyImpl.java
│ │ │ ├── TServiceWithMaxAndMaxAttributesImpl.java
│ │ │ ├── TServiceWithMaxAndModifyImpl.java
│ │ │ ├── TServiceWithMaxImpl.java
│ │ │ ├── TServiceYesNoImpl.java
│ │ │ ├── TServicesImpl.java
│ │ │ ├── TSettingControlImpl.java
│ │ │ ├── TSubEquipmentImpl.java
│ │ │ ├── TSubFunctionImpl.java
│ │ │ ├── TSubNetworkImpl.java
│ │ │ ├── TSubstationImpl.java
│ │ │ ├── TTapChangerImpl.java
│ │ │ ├── TTerminalImpl.java
│ │ │ ├── TTextImpl.java
│ │ │ ├── TTransformerWindingImpl.java
│ │ │ ├── TTrgOpsImpl.java
│ │ │ ├── TUnNamingImpl.java
│ │ │ ├── TValImpl.java
│ │ │ ├── TValueWithUnitImpl.java
│ │ │ ├── TVoltageImpl.java
│ │ │ ├── TVoltageLevelImpl.java
│ │ │ └── scl.ecore
│ │ │ └── util
│ │ │ ├── SclAdapterFactory.java
│ │ │ ├── SclResourceFactoryImpl.java
│ │ │ ├── SclResourceImpl.java
│ │ │ ├── SclSwitch.java
│ │ │ ├── SclValidator.java
│ │ │ └── SclXMLProcessor.java
│ └── rapid61850
│ │ ├── CFile.java
│ │ ├── CFunction.java
│ │ ├── CFunctionCoder.java
│ │ ├── CFunctionControl.java
│ │ ├── CFunctionGSECoder.java
│ │ ├── CFunctionGSELengthCoder.java
│ │ ├── CFunctionSVCoder.java
│ │ ├── CHeader.java
│ │ ├── CSource.java
│ │ ├── CoderType.java
│ │ ├── CommsType.java
│ │ ├── JSONDatabaseManager.java
│ │ ├── LE.scd
│ │ ├── LEx2.scd
│ │ ├── LEx2GOOSE.scd
│ │ ├── Main.java
│ │ ├── SCDAdditionalMappings.java
│ │ ├── SCDCodeGenerator.java
│ │ ├── SCDValidator.java
│ │ ├── ied_monitor.xml
│ │ ├── license.txt
│ │ ├── performance.scd
│ │ ├── scd.xml
│ │ ├── templates
│ │ ├── CHeaderTemplate.java
│ │ └── CSourceTemplate.java
│ │ └── ud.xml
└── templates
│ ├── CHeaderTemplate.cjet
│ └── CSourceTemplate.cjet
├── java_interface
└── Main.java
├── processing
└── PACWorldClient
│ ├── GUI.pde
│ ├── PACWorldClient.pde
│ ├── application.linux
│ ├── PACWorldClient
│ ├── lib
│ │ ├── PACWorldClient.jar
│ │ ├── controlP5.jar
│ │ ├── core.jar
│ │ └── net.jar
│ └── source
│ │ ├── GUI.pde
│ │ └── PACWorldClient.pde
│ ├── application.macosx
│ ├── PACWorldClient.app
│ │ └── Contents
│ │ │ ├── Info.plist
│ │ │ ├── MacOS
│ │ │ ├── JavaApplicationStub
│ │ │ └── JavaApplicationStub64
│ │ │ ├── PkgInfo
│ │ │ └── Resources
│ │ │ ├── Java
│ │ │ ├── PACWorldClient.jar
│ │ │ ├── controlP5.jar
│ │ │ ├── core.jar
│ │ │ └── net.jar
│ │ │ └── sketch.icns
│ ├── readme.txt
│ └── source
│ │ ├── GUI.pde
│ │ └── PACWorldClient.pde
│ ├── application.windows
│ ├── PACWorldClient.exe
│ ├── lib
│ │ ├── PACWorldClient.jar
│ │ ├── args.txt
│ │ ├── controlP5.jar
│ │ ├── core.jar
│ │ └── net.jar
│ └── source
│ │ ├── GUI.pde
│ │ ├── PACWorldClient.java
│ │ └── PACWorldClient.pde
│ ├── code
│ └── controlP5.jar
│ └── data
│ └── AngsanaUPC-48.vlw
└── python_interface
└── main.py
/c/Include/pcap-bpf.h:
--------------------------------------------------------------------------------
1 | /*-
2 | * Copyright (c) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997
3 | * The Regents of the University of California. All rights reserved.
4 | *
5 | * This code is derived from the Stanford/CMU enet packet filter,
6 | * (net/enet.c) distributed as part of 4.3BSD, and code contributed
7 | * to Berkeley by Steven McCanne and Van Jacobson both of Lawrence
8 | * Berkeley Laboratory.
9 | *
10 | * Redistribution and use in source and binary forms, with or without
11 | * modification, are permitted provided that the following conditions
12 | * are met:
13 | * 1. Redistributions of source code must retain the above copyright
14 | * notice, this list of conditions and the following disclaimer.
15 | * 2. Redistributions in binary form must reproduce the above copyright
16 | * notice, this list of conditions and the following disclaimer in the
17 | * documentation and/or other materials provided with the distribution.
18 | * 3. All advertising materials mentioning features or use of this software
19 | * must display the following acknowledgement:
20 | * This product includes software developed by the University of
21 | * California, Berkeley and its contributors.
22 | * 4. Neither the name of the University nor the names of its contributors
23 | * may be used to endorse or promote products derived from this software
24 | * without specific prior written permission.
25 | *
26 | * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
27 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
29 | * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
30 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
31 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
32 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
33 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
34 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
35 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
36 | * SUCH DAMAGE.
37 | *
38 | * @(#) $Header: /tcpdump/master/libpcap/pcap-bpf.h,v 1.50 2007/04/01 21:43:55 guy Exp $ (LBL)
39 | */
40 |
41 | /*
42 | * For backwards compatibility.
43 | *
44 | * Note to OS vendors: do NOT get rid of this file! Some applications
45 | * might expect to be able to include .
46 | */
47 | #include
48 |
--------------------------------------------------------------------------------
/c/Include/pcap-namedb.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 1994, 1996
3 | * The Regents of the University of California. All rights reserved.
4 | *
5 | * Redistribution and use in source and binary forms, with or without
6 | * modification, are permitted provided that the following conditions
7 | * are met:
8 | * 1. Redistributions of source code must retain the above copyright
9 | * notice, this list of conditions and the following disclaimer.
10 | * 2. Redistributions in binary form must reproduce the above copyright
11 | * notice, this list of conditions and the following disclaimer in the
12 | * documentation and/or other materials provided with the distribution.
13 | * 3. All advertising materials mentioning features or use of this software
14 | * must display the following acknowledgement:
15 | * This product includes software developed by the Computer Systems
16 | * Engineering Group at Lawrence Berkeley Laboratory.
17 | * 4. Neither the name of the University nor of the Laboratory may be used
18 | * to endorse or promote products derived from this software without
19 | * specific prior written permission.
20 | *
21 | * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 | * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 | * SUCH DAMAGE.
32 | *
33 | * @(#) $Header: /tcpdump/master/libpcap/pcap-namedb.h,v 1.13 2006/10/04 18:13:32 guy Exp $ (LBL)
34 | */
35 |
36 | /*
37 | * For backwards compatibility.
38 | *
39 | * Note to OS vendors: do NOT get rid of this file! Some applications
40 | * might expect to be able to include .
41 | */
42 | #include
43 |
--------------------------------------------------------------------------------
/c/Include/pcap.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 1993, 1994, 1995, 1996, 1997
3 | * The Regents of the University of California. All rights reserved.
4 | *
5 | * Redistribution and use in source and binary forms, with or without
6 | * modification, are permitted provided that the following conditions
7 | * are met:
8 | * 1. Redistributions of source code must retain the above copyright
9 | * notice, this list of conditions and the following disclaimer.
10 | * 2. Redistributions in binary form must reproduce the above copyright
11 | * notice, this list of conditions and the following disclaimer in the
12 | * documentation and/or other materials provided with the distribution.
13 | * 3. All advertising materials mentioning features or use of this software
14 | * must display the following acknowledgement:
15 | * This product includes software developed by the Computer Systems
16 | * Engineering Group at Lawrence Berkeley Laboratory.
17 | * 4. Neither the name of the University nor of the Laboratory may be used
18 | * to endorse or promote products derived from this software without
19 | * specific prior written permission.
20 | *
21 | * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 | * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 | * SUCH DAMAGE.
32 | *
33 | * @(#) $Header: /tcpdump/master/libpcap/pcap.h,v 1.59 2006/10/04 18:09:22 guy Exp $ (LBL)
34 | */
35 |
36 | /*
37 | * For backwards compatibility.
38 | *
39 | * Note to OS vendors: do NOT get rid of this file! Many applications
40 | * expect to be able to include , and at least some of them
41 | * go through contortions in their configure scripts to try to detect
42 | * OSes that have "helpfully" moved pcap.h to without
43 | * leaving behind a file.
44 | */
45 | #include
46 |
--------------------------------------------------------------------------------
/c/Include/pcap/bluetooth.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2006 Paolo Abeni (Italy)
3 | * All rights reserved.
4 | *
5 | * Redistribution and use in source and binary forms, with or without
6 | * modification, are permitted provided that the following conditions
7 | * are met:
8 | *
9 | * 1. Redistributions of source code must retain the above copyright
10 | * notice, this list of conditions and the following disclaimer.
11 | * 2. Redistributions in binary form must reproduce the above copyright
12 | * notice, this list of conditions and the following disclaimer in the
13 | * documentation and/or other materials provided with the distribution.
14 | * 3. The name of the author may not be used to endorse or promote
15 | * products derived from this software without specific prior written
16 | * permission.
17 | *
18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | *
30 | * bluetooth data struct
31 | * By Paolo Abeni
32 | *
33 | * @(#) $Header: /tcpdump/master/libpcap/pcap/bluetooth.h,v 1.1 2007/09/22 02:10:17 guy Exp $
34 | */
35 |
36 | #ifndef _PCAP_BLUETOOTH_STRUCTS_H__
37 | #define _PCAP_BLUETOOTH_STRUCTS_H__
38 |
39 | /*
40 | * Header prepended libpcap to each bluetooth h:4 frame.
41 | * fields are in network byte order
42 | */
43 | typedef struct _pcap_bluetooth_h4_header {
44 | u_int32_t direction; /* if first bit is set direction is incoming */
45 | } pcap_bluetooth_h4_header;
46 |
47 |
48 | #endif
49 |
--------------------------------------------------------------------------------
/c/Include/pcap/vlan.h:
--------------------------------------------------------------------------------
1 | /*-
2 | * Copyright (c) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997
3 | * The Regents of the University of California. All rights reserved.
4 | *
5 | * Redistribution and use in source and binary forms, with or without
6 | * modification, are permitted provided that the following conditions
7 | * are met:
8 | * 1. Redistributions of source code must retain the above copyright
9 | * notice, this list of conditions and the following disclaimer.
10 | * 2. Redistributions in binary form must reproduce the above copyright
11 | * notice, this list of conditions and the following disclaimer in the
12 | * documentation and/or other materials provided with the distribution.
13 | * 3. All advertising materials mentioning features or use of this software
14 | * must display the following acknowledgement:
15 | * This product includes software developed by the University of
16 | * California, Berkeley and its contributors.
17 | * 4. Neither the name of the University nor the names of its contributors
18 | * may be used to endorse or promote products derived from this software
19 | * without specific prior written permission.
20 | *
21 | * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 | * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 | * SUCH DAMAGE.
32 | *
33 | * @(#) $Header: /tcpdump/master/libpcap/pcap/vlan.h,v 1.1.2.2 2008-08-06 07:45:59 guy Exp $
34 | */
35 |
36 | #ifndef lib_pcap_vlan_h
37 | #define lib_pcap_vlan_h
38 |
39 | struct vlan_tag {
40 | u_int16_t vlan_tpid; /* ETH_P_8021Q */
41 | u_int16_t vlan_tci; /* VLAN TCI */
42 | };
43 |
44 | #define VLAN_TAG_LEN 4
45 |
46 | #endif
47 |
--------------------------------------------------------------------------------
/c/Lib/Packet.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stevenblair/rapid61850/30479c1d59d8b716f445f17d3d33d2201dcc2ca9/c/Lib/Packet.lib
--------------------------------------------------------------------------------
/c/Lib/libpacket.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stevenblair/rapid61850/30479c1d59d8b716f445f17d3d33d2201dcc2ca9/c/Lib/libpacket.a
--------------------------------------------------------------------------------
/c/Lib/libwpcap.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stevenblair/rapid61850/30479c1d59d8b716f445f17d3d33d2201dcc2ca9/c/Lib/libwpcap.a
--------------------------------------------------------------------------------
/c/Lib/wpcap.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stevenblair/rapid61850/30479c1d59d8b716f445f17d3d33d2201dcc2ca9/c/Lib/wpcap.lib
--------------------------------------------------------------------------------
/c/Lib/x64/Packet.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stevenblair/rapid61850/30479c1d59d8b716f445f17d3d33d2201dcc2ca9/c/Lib/x64/Packet.lib
--------------------------------------------------------------------------------
/c/Lib/x64/wpcap.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stevenblair/rapid61850/30479c1d59d8b716f445f17d3d33d2201dcc2ca9/c/Lib/x64/wpcap.lib
--------------------------------------------------------------------------------
/c/htpasswd.txt:
--------------------------------------------------------------------------------
1 | admin:localhost:609e3552947b5949c2451a072a2963e1
2 |
--------------------------------------------------------------------------------
/c/src/decodePacket.c:
--------------------------------------------------------------------------------
1 | /**
2 | * Rapid-prototyping protection schemes with IEC 61850
3 | *
4 | * Copyright (c) 2012 Steven Blair
5 | *
6 | * This program is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU General Public License
8 | * as published by the Free Software Foundation; either version 2
9 | * of the License, or (at your option) any later version.
10 |
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 | */
20 |
21 | #include "decodePacket.h"
22 | //#include "svEncodeBasic.h"
23 |
24 |
25 | // returns size of length field, from first byte
26 | int getLengthFieldSize(unsigned char byte) {
27 | if (byte <= 126) {
28 | return 1;
29 | }
30 | else {
31 | return 1 + (byte & 0x7F);
32 | }
33 | }
34 |
35 | //TODO check this works for all inputs, e.g., buf[1] = 0xFF
36 | int decodeLength(unsigned char *buf) {
37 | if (buf[0] <= 126) {
38 | return buf[0];
39 | }
40 | else {
41 | int bytes = (buf[0] & 0x7F);
42 |
43 | if (bytes == 1) {
44 | return buf[1];
45 | }
46 | else if (bytes == 2) { // assumes max length of 2^15
47 | return ((buf[1] & 0xFF) << 8) | (buf[2] & 0xFF);
48 | }
49 | }
50 |
51 | return 0;
52 | }
53 |
--------------------------------------------------------------------------------
/c/src/decodePacket.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Rapid-prototyping protection schemes with IEC 61850
3 | *
4 | * Copyright (c) 2012 Steven Blair
5 | *
6 | * This program is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU General Public License
8 | * as published by the Free Software Foundation; either version 2
9 | * of the License, or (at your option) any later version.
10 |
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 | */
20 |
21 | #ifndef DECODE_PACKET_H
22 | #define DECODE_PACKET_H
23 |
24 | #ifdef __cplusplus /* If this is a C++ compiler, use C linkage */
25 | extern "C" {
26 | #endif
27 |
28 | int getLengthFieldSize(unsigned char byte);
29 | int decodeLength(unsigned char *buf);
30 |
31 | #ifdef __cplusplus /* If this is a C++ compiler, end C linkage */
32 | }
33 | #endif
34 |
35 | #endif
36 |
--------------------------------------------------------------------------------
/c/src/encodePacket.c:
--------------------------------------------------------------------------------
1 | /**
2 | * Rapid-prototyping protection schemes with IEC 61850
3 | *
4 | * Copyright (c) 2012 Steven Blair
5 | *
6 | * This program is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU General Public License
8 | * as published by the Free Software Foundation; either version 2
9 | * of the License, or (at your option) any later version.
10 |
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 | */
20 |
21 | #include "encodePacket.h"
22 | #include "svEncodeBasic.h"
23 |
24 | int getLengthBytes(int len) {
25 | if (len <= 126) {
26 | return 1;
27 | }
28 | else if (len <= 255) {
29 | return 2;
30 | }
31 | else {
32 | return 3;
33 | }
34 | }
35 |
36 | int encodeLength(unsigned char *buf, CTYPE_INT16U len) {
37 | if (len <= 126) {
38 | buf[0] = (unsigned char) len;
39 | return 1;
40 | }
41 | else if (len <= 255) {
42 | buf[0] = (unsigned char) 0x81; // 0x80 specifies larger than one byte; 0x02 is number of length bytes to follow
43 | buf[1] = (unsigned char) len;
44 |
45 | return 2;
46 | }
47 | else {
48 | // assume length is not greater than 2^15
49 | buf[0] = (unsigned char) 0x82; // 0x80 specifies larger than one byte; 0x02 is number of length bytes to follow
50 | ENCODE_CTYPE_INT16U(&buf[1], &len);
51 |
52 | return 3;
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/c/src/encodePacket.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Rapid-prototyping protection schemes with IEC 61850
3 | *
4 | * Copyright (c) 2012 Steven Blair
5 | *
6 | * This program is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU General Public License
8 | * as published by the Free Software Foundation; either version 2
9 | * of the License, or (at your option) any later version.
10 |
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 | */
20 |
21 | #ifndef ENCODE_PACKET_H
22 | #define ENCODE_PACKET_H
23 |
24 | #ifdef __cplusplus /* If this is a C++ compiler, use C linkage */
25 | extern "C" {
26 | #endif
27 |
28 | #include "ctypes.h"
29 |
30 | int getLengthBytes(int len);
31 | int encodeLength(unsigned char *buf, CTYPE_INT16U len);
32 |
33 | #ifdef __cplusplus /* If this is a C++ compiler, end C linkage */
34 | }
35 | #endif
36 |
37 | #endif
38 |
--------------------------------------------------------------------------------
/c/src/gse.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Rapid-prototyping protection schemes with IEC 61850
3 | *
4 | * Copyright (c) 2014 Steven Blair
5 | *
6 | * This program is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU General Public License
8 | * as published by the Free Software Foundation; either version 2
9 | * of the License, or (at your option) any later version.
10 |
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 | */
20 |
21 | #ifndef GSE_H
22 | #define GSE_H
23 |
24 | #ifdef __cplusplus /* If this is a C++ compiler, use C linkage */
25 | extern "C" {
26 | #endif
27 |
28 | #include "gseEncode.h"
29 | #include "gseDecode.h"
30 | #include "gsePacketData.h"
31 |
32 |
33 |
34 |
35 | void init_gse();
36 | int gse_send_E1Q1SB1_C1_Performance(unsigned char *buf, CTYPE_BOOLEAN statusChange, CTYPE_INT32U timeAllowedToLive);
37 | int gse_send_E1Q1SB1_C1_ItlPositions(unsigned char *buf, CTYPE_BOOLEAN statusChange, CTYPE_INT32U timeAllowedToLive);
38 | int gse_send_E1Q1SB1_C1_AnotherPositions(unsigned char *buf, CTYPE_BOOLEAN statusChange, CTYPE_INT32U timeAllowedToLive);
39 | int gse_send_D1Q1SB4_C1_SyckResult(unsigned char *buf, CTYPE_BOOLEAN statusChange, CTYPE_INT32U timeAllowedToLive);
40 | int gse_send_D1Q1SB4_C1_MMXUResult(unsigned char *buf, CTYPE_BOOLEAN statusChange, CTYPE_INT32U timeAllowedToLive);
41 | void gseDecode(unsigned char *buf, int len);
42 |
43 |
44 |
45 |
46 | #ifdef __cplusplus /* If this is a C++ compiler, end C linkage */
47 | }
48 | #endif
49 |
50 | #endif
51 |
--------------------------------------------------------------------------------
/c/src/gseDecode.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Rapid-prototyping protection schemes with IEC 61850
3 | *
4 | * Copyright (c) 2014 Steven Blair
5 | *
6 | * This program is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU General Public License
8 | * as published by the Free Software Foundation; either version 2
9 | * of the License, or (at your option) any later version.
10 |
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 | */
20 |
21 | #ifndef GSE_DECODE_H
22 | #define GSE_DECODE_H
23 |
24 | #ifdef __cplusplus /* If this is a C++ compiler, use C linkage */
25 | extern "C" {
26 | #endif
27 |
28 | #include "gsePacketData.h"
29 | #include "datatypes.h"
30 |
31 |
32 |
33 |
34 | int ber_decode_E1Q1SB1_C1_Performance(unsigned char *buf, struct E1Q1SB1_C1_Performance *E1Q1SB1_C1_Performance);
35 | int ber_decode_E1Q1SB1_C1_Positions(unsigned char *buf, struct E1Q1SB1_C1_Positions *E1Q1SB1_C1_Positions);
36 | int ber_decode_E1Q1SB1_C1_Measurands(unsigned char *buf, struct E1Q1SB1_C1_Measurands *E1Q1SB1_C1_Measurands);
37 | int ber_decode_E1Q1SB1_C1_smv(unsigned char *buf, struct E1Q1SB1_C1_smv *E1Q1SB1_C1_smv);
38 | int ber_decode_E1Q1SB1_C1_rmxu(unsigned char *buf, struct E1Q1SB1_C1_rmxu *E1Q1SB1_C1_rmxu);
39 | int ber_decode_D1Q1SB4_C1_SyckResult(unsigned char *buf, struct D1Q1SB4_C1_SyckResult *D1Q1SB4_C1_SyckResult);
40 | int ber_decode_D1Q1SB4_C1_MMXUResult(unsigned char *buf, struct D1Q1SB4_C1_MMXUResult *D1Q1SB4_C1_MMXUResult);
41 |
42 | void gseDecodeDataset(unsigned char *dataset, CTYPE_INT16U datasetLength, unsigned char *gocbRef, CTYPE_INT16U gocbRefLength, CTYPE_INT32U timeAllowedToLive, CTYPE_TIMESTAMP T, CTYPE_INT32U stNum, CTYPE_INT32U sqNum);
43 |
44 |
45 |
46 | #ifdef __cplusplus /* If this is a C++ compiler, end C linkage */
47 | }
48 | #endif
49 |
50 | #endif
51 |
--------------------------------------------------------------------------------
/c/src/gseDecodeBasic.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Rapid-prototyping protection schemes with IEC 61850
3 | *
4 | * Copyright (c) 2012 Steven Blair
5 | *
6 | * This program is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU General Public License
8 | * as published by the Free Software Foundation; either version 2
9 | * of the License, or (at your option) any later version.
10 |
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 | */
20 |
21 | #ifndef GSE_BER_DECODE_BASIC_H
22 | #define GSE_BER_DECODE_BASIC_H
23 |
24 | #include "datatypes.h"
25 | #include "decodePacket.h"
26 |
27 | #ifdef __cplusplus /* If this is a C++ compiler, use C linkage */
28 | extern "C" {
29 | #endif
30 |
31 | int BER_DECODE_CTYPE_FLOAT32(unsigned char *buf, CTYPE_FLOAT32 *value);
32 | int BER_DECODE_CTYPE_QUALITY(unsigned char *buf, CTYPE_QUALITY *value);
33 | int BER_DECODE_CTYPE_TIMESTAMP(unsigned char *buf, CTYPE_TIMESTAMP *value);
34 | int BER_DECODE_CTYPE_ENUM(unsigned char *buf, CTYPE_ENUM *value);
35 | int BER_DECODE_CTYPE_INT8(unsigned char *buf, CTYPE_INT8 *value);
36 | int BER_DECODE_CTYPE_INT16(unsigned char *buf, CTYPE_INT16 *value);
37 | int BER_DECODE_CTYPE_INT32(unsigned char *buf, CTYPE_INT32 *value);
38 | int BER_DECODE_CTYPE_INT16U(unsigned char *buf, CTYPE_INT16U *value);
39 | int BER_DECODE_CTYPE_INT32U(unsigned char *buf, CTYPE_INT32U *value);
40 | int BER_DECODE_CTYPE_VISSTRING255(unsigned char *buf, CTYPE_VISSTRING255 *value);
41 | int BER_DECODE_CTYPE_BOOLEAN(unsigned char *buf, CTYPE_BOOLEAN *value);
42 | int BER_DECODE_CTYPE_DBPOS(unsigned char *buf, CTYPE_DBPOS *value);
43 |
44 | #ifdef __cplusplus /* If this is a C++ compiler, end C linkage */
45 | }
46 | #endif
47 |
48 | #endif
49 |
--------------------------------------------------------------------------------
/c/src/gseEncode.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Rapid-prototyping protection schemes with IEC 61850
3 | *
4 | * Copyright (c) 2014 Steven Blair
5 | *
6 | * This program is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU General Public License
8 | * as published by the Free Software Foundation; either version 2
9 | * of the License, or (at your option) any later version.
10 |
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 | */
20 |
21 | #ifndef GSE_ENCODE_H
22 | #define GSE_ENCODE_H
23 |
24 | #ifdef __cplusplus /* If this is a C++ compiler, use C linkage */
25 | extern "C" {
26 | #endif
27 |
28 | #include "gseEncodeBasic.h"
29 | #include "gsePacketData.h"
30 |
31 |
32 |
33 |
34 | int ber_get_length_E1Q1SB1_C1_Performance();
35 | int ber_encode_E1Q1SB1_C1_Performance(unsigned char *buf);
36 | int ber_encode_control_E1Q1SB1_C1_Performance(unsigned char *buf);
37 | int ber_get_length_E1Q1SB1_C1_Positions();
38 | int ber_encode_E1Q1SB1_C1_Positions(unsigned char *buf);
39 | int ber_encode_control_E1Q1SB1_C1_ItlPositions(unsigned char *buf);
40 | int ber_encode_control_E1Q1SB1_C1_AnotherPositions(unsigned char *buf);
41 | int ber_get_length_E1Q1SB1_C1_Measurands();
42 | int ber_encode_E1Q1SB1_C1_Measurands(unsigned char *buf);
43 | int ber_get_length_E1Q1SB1_C1_smv();
44 | int ber_encode_E1Q1SB1_C1_smv(unsigned char *buf);
45 | int ber_get_length_E1Q1SB1_C1_rmxu();
46 | int ber_encode_E1Q1SB1_C1_rmxu(unsigned char *buf);
47 | int ber_get_length_D1Q1SB4_C1_SyckResult();
48 | int ber_encode_D1Q1SB4_C1_SyckResult(unsigned char *buf);
49 | int ber_encode_control_D1Q1SB4_C1_SyckResult(unsigned char *buf);
50 | int ber_get_length_D1Q1SB4_C1_MMXUResult();
51 | int ber_encode_D1Q1SB4_C1_MMXUResult(unsigned char *buf);
52 | int ber_encode_control_D1Q1SB4_C1_MMXUResult(unsigned char *buf);
53 | int gseEncodePacket(struct gseControl *gseControl, unsigned char *buf);
54 |
55 |
56 |
57 | #ifdef __cplusplus /* If this is a C++ compiler, end C linkage */
58 | }
59 | #endif
60 |
61 | #endif
62 |
--------------------------------------------------------------------------------
/c/src/gseEncodeBasic.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Rapid-prototyping protection schemes with IEC 61850
3 | *
4 | * Copyright (c) 2012 Steven Blair
5 | *
6 | * This program is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU General Public License
8 | * as published by the Free Software Foundation; either version 2
9 | * of the License, or (at your option) any later version.
10 |
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 | */
20 |
21 | #ifndef GSE_ENCODE_BASIC_H
22 | #define GSE_ENCODE_BASIC_H
23 |
24 | #ifdef __cplusplus /* If this is a C++ compiler, use C linkage */
25 | extern "C" {
26 | #endif
27 |
28 | #include "datatypes.h"
29 | #include "encodePacket.h"
30 |
31 | int BER_ENCODE_CTYPE_FLOAT32(unsigned char *buf, CTYPE_FLOAT32 *value);
32 | int BER_ENCODE_CTYPE_FLOAT64(unsigned char *buf, CTYPE_FLOAT64 *value);
33 | int BER_ENCODE_CTYPE_QUALITY(unsigned char *buf, CTYPE_QUALITY *value);
34 | int BER_ENCODE_CTYPE_TIMESTAMP(unsigned char *buf, CTYPE_TIMESTAMP *value);
35 | int BER_ENCODE_CTYPE_ENUM(unsigned char *buf, CTYPE_ENUM *value);
36 | int BER_ENCODE_CTYPE_INT8(unsigned char *buf, CTYPE_INT8 *value);
37 | int BER_ENCODE_CTYPE_INT16(unsigned char *buf, CTYPE_INT16 *value);
38 | int BER_ENCODE_CTYPE_INT32(unsigned char *buf, CTYPE_INT32 *value);
39 | int BER_ENCODE_CTYPE_INT16U(unsigned char *buf, CTYPE_INT16U *value);
40 | int BER_ENCODE_CTYPE_INT32U(unsigned char *buf, CTYPE_INT32U *value);
41 | int BER_ENCODE_CTYPE_VISSTRING255(unsigned char *buf, CTYPE_VISSTRING255 *value);
42 | int BER_ENCODE_CTYPE_BOOLEAN(unsigned char *buf, CTYPE_BOOLEAN *value);
43 | int BER_ENCODE_CTYPE_DBPOS(unsigned char *buf, CTYPE_DBPOS *value);
44 |
45 | #ifdef __cplusplus /* If this is a C++ compiler, end C linkage */
46 | }
47 | #endif
48 |
49 | #endif
50 |
--------------------------------------------------------------------------------
/c/src/gsePacketData.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Rapid-prototyping protection schemes with IEC 61850
3 | *
4 | * Copyright (c) 2012 Steven Blair
5 | *
6 | * This program is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU General Public License
8 | * as published by the Free Software Foundation; either version 2
9 | * of the License, or (at your option) any later version.
10 |
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 | */
20 |
21 | #ifndef GSE_PACKET_DATA_H
22 | #define GSE_PACKET_DATA_H
23 |
24 | #ifdef __cplusplus /* If this is a C++ compiler, use C linkage */
25 | extern "C" {
26 | #endif
27 |
28 | #include
29 | #include
30 | #include "ctypes.h"
31 |
32 | struct gseControl {
33 | struct ethHeaderData ethHeaderData;
34 | unsigned char *gocbRef; // /LLN0$ e.g. "C1/LLN0$ItlPositions"
35 | CTYPE_INT32U timeAllowedToLive;
36 | unsigned char *datSet; // /LLN0$ e.g. "E1Q1SB1C1/LLN0$Positions"
37 | unsigned char *goID; // optional
38 | CTYPE_TIMESTAMP t;
39 | CTYPE_INT32U stNum;
40 | CTYPE_INT32U sqNum;
41 | CTYPE_BOOLEAN test;
42 | CTYPE_INT32U confRev;
43 | CTYPE_BOOLEAN ndsCom;
44 | CTYPE_INT32U numDatSetEntries;
45 | CTYPE_INT32U minTime; // stored in milliseconds
46 | CTYPE_INT32U maxTime; // stored in milliseconds
47 | int (*encodeDataset)(unsigned char *buf); // function pointer to dataset-specific encoder
48 | int (*getDatasetLength)(); // function pointer to dataset-specific getLength function
49 | int (*send)(unsigned char *buf, CTYPE_BOOLEAN statusChange, CTYPE_INT32U timeAllowedToLive); // function pointer to send GSE packet
50 | };
51 |
52 | #ifdef __cplusplus /* If this is a C++ compiler, end C linkage */
53 | }
54 | #endif
55 |
56 | #endif
57 |
--------------------------------------------------------------------------------
/c/src/iec61850.c:
--------------------------------------------------------------------------------
1 | /**
2 | * Rapid-prototyping protection schemes with IEC 61850
3 | *
4 | * Copyright (c) 2012 Steven Blair
5 | *
6 | * This program is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU General Public License
8 | * as published by the Free Software Foundation; either version 2
9 | * of the License, or (at your option) any later version.
10 |
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 | */
20 |
21 | #include "iec61850.h"
22 |
23 | void initialise_iec61850() {
24 | init_datatypes();
25 | init_sv();
26 | init_gse();
27 |
28 | #if JSON_INTERFACE == 1
29 | init_data_model_index();
30 | #endif
31 | }
32 |
--------------------------------------------------------------------------------
/c/src/iec61850.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Rapid-prototyping protection schemes with IEC 61850
3 | *
4 | * Copyright (c) 2012 Steven Blair
5 | *
6 | * This program is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU General Public License
8 | * as published by the Free Software Foundation; either version 2
9 | * of the License, or (at your option) any later version.
10 |
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 | */
20 |
21 | #ifndef IEC61850_H
22 | #define IEC61850_H
23 |
24 | #ifdef __cplusplus /* If this is a C++ compiler, use C linkage */
25 | extern "C" {
26 | #endif
27 |
28 |
29 | #include "ied.h"
30 | #include "sv.h"
31 | #include "gse.h"
32 |
33 | #if JSON_INTERFACE == 1
34 | #include "json\dataModelIndex.h"
35 | #endif
36 |
37 | void initialise_iec61850();
38 |
39 |
40 | #ifdef __cplusplus /* If this is a C++ compiler, end C linkage */
41 | }
42 | #endif
43 |
44 | #endif
45 |
--------------------------------------------------------------------------------
/c/src/ied.c:
--------------------------------------------------------------------------------
1 | /**
2 | * Rapid-prototyping protection schemes with IEC 61850
3 | *
4 | * Copyright (c) 2014 Steven Blair
5 | *
6 | * This program is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU General Public License
8 | * as published by the Free Software Foundation; either version 2
9 | * of the License, or (at your option) any later version.
10 |
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 | */
20 |
21 | #include "ied.h"
22 | #include "datatypes.h"
23 |
24 |
25 | struct E1Q1SB1_t E1Q1SB1;
26 | struct E1Q1BP2_t E1Q1BP2;
27 | struct E1Q1BP3_t E1Q1BP3;
28 | struct E1Q2SB1_t E1Q2SB1;
29 | struct E1Q3SB1_t E1Q3SB1;
30 | struct E1Q3KA1_t E1Q3KA1;
31 | struct E1Q3KA2_t E1Q3KA2;
32 | struct E1Q3KA3_t E1Q3KA3;
33 | struct D1Q1SB1_t D1Q1SB1;
34 | struct D1Q1BP2_t D1Q1BP2;
35 | struct D1Q1BP3_t D1Q1BP3;
36 | struct D1Q1SB4_t D1Q1SB4;
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/c/src/interface.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Rapid-prototyping protection schemes with IEC 61850
3 | *
4 | * Copyright (c) 2012 Steven Blair
5 | *
6 | * This program is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU General Public License
8 | * as published by the Free Software Foundation; either version 2
9 | * of the License, or (at your option) any later version.
10 |
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 | */
20 |
21 | #ifndef INTERFACE_H_
22 | #define INTERFACE_H_
23 |
24 | #include "iec61850.h"
25 | #include "interfaceSendPacket.h"
26 |
27 | //#if HIGH_LEVEL_INTERFACE == 1
28 |
29 | #ifdef _WIN32
30 | #define WPCAP
31 | #define HAVE_REMOTE
32 | #define WIN32_LEAN_AND_MEAN
33 | #endif
34 | #include
35 |
36 | extern unsigned char bufIn[2048];
37 | extern unsigned char bufOut[2048];
38 |
39 | extern pcap_t *fp;
40 |
41 | void start();
42 | void stop();
43 | int readPacket();
44 | int readPacketTimeout();
45 |
46 | //#endif
47 |
48 | #endif /* INTERFACE_H_ */
49 |
--------------------------------------------------------------------------------
/c/src/interfaceSendPacket.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Rapid-prototyping protection schemes with IEC 61850
3 | *
4 | * Copyright (c) 2014 Steven Blair
5 | *
6 | * This program is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU General Public License
8 | * as published by the Free Software Foundation; either version 2
9 | * of the License, or (at your option) any later version.
10 |
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 | */
20 |
21 | #ifndef INTERFACE_SEND_PACKET_H
22 | #define INTERFACE_SEND_PACKET_H
23 |
24 | #ifdef __cplusplus /* If this is a C++ compiler, use C linkage */
25 | extern "C" {
26 | #endif
27 |
28 | #include "iec61850.h"
29 | #include "interface.h"
30 |
31 |
32 |
33 |
34 | int interface_sv_update_E1Q1SB1_C1_PerformanceSV();
35 | int interface_gse_send_E1Q1SB1_C1_Performance(int statusChange, int timeAllowedToLive);
36 | int interface_gse_send_E1Q1SB1_C1_ItlPositions(int statusChange, int timeAllowedToLive);
37 | int interface_gse_send_E1Q1SB1_C1_AnotherPositions(int statusChange, int timeAllowedToLive);
38 | int interface_sv_update_E1Q1SB1_C1_Volt();
39 | int interface_sv_update_E1Q1SB1_C1_rmxuCB();
40 | int interface_gse_send_D1Q1SB4_C1_SyckResult(int statusChange, int timeAllowedToLive);
41 | int interface_gse_send_D1Q1SB4_C1_MMXUResult(int statusChange, int timeAllowedToLive);
42 |
43 |
44 |
45 |
46 | #ifdef __cplusplus /* If this is a C++ compiler, end C linkage */
47 | }
48 | #endif
49 |
50 | #endif
51 |
--------------------------------------------------------------------------------
/c/src/rapid61850.i:
--------------------------------------------------------------------------------
1 | // rapid61850.i
2 | %module rapid61850
3 | %{
4 | #include "interface.h"
5 | #include "interfaceSendPacket.h"
6 | #include "ied.h"
7 |
8 | %}
9 |
10 | %include "ctypes.h"
11 | %include "svPacketData.h"
12 | %include "gsePacketData.h"
13 | %include "datatypes.h"
14 | %include "sv.h"
15 | %include "gse.h"
16 | %include "interfaceSendPacket.h"
17 | %include "interface.h"
18 | %include "ied.h"
19 |
--------------------------------------------------------------------------------
/c/src/sv.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Rapid-prototyping protection schemes with IEC 61850
3 | *
4 | * Copyright (c) 2014 Steven Blair
5 | *
6 | * This program is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU General Public License
8 | * as published by the Free Software Foundation; either version 2
9 | * of the License, or (at your option) any later version.
10 |
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 | */
20 |
21 | #ifndef SV_H
22 | #define SV_H
23 |
24 | #ifdef __cplusplus /* If this is a C++ compiler, use C linkage */
25 | extern "C" {
26 | #endif
27 |
28 | #include "svEncode.h"
29 | #include "svDecode.h"
30 | #include "svPacketData.h"
31 |
32 |
33 |
34 |
35 | void init_sv();
36 | int sv_update_E1Q1SB1_C1_PerformanceSV(unsigned char *buf);
37 | int sv_update_E1Q1SB1_C1_Volt(unsigned char *buf);
38 | int sv_update_E1Q1SB1_C1_rmxuCB(unsigned char *buf);
39 | void svDecode(unsigned char *buf, int len);
40 |
41 |
42 |
43 |
44 | #ifdef __cplusplus /* If this is a C++ compiler, end C linkage */
45 | }
46 | #endif
47 |
48 | #endif
49 |
--------------------------------------------------------------------------------
/c/src/svDecode.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Rapid-prototyping protection schemes with IEC 61850
3 | *
4 | * Copyright (c) 2014 Steven Blair
5 | *
6 | * This program is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU General Public License
8 | * as published by the Free Software Foundation; either version 2
9 | * of the License, or (at your option) any later version.
10 |
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 | */
20 |
21 | #ifndef SV_DECODE_H
22 | #define SV_DECODE_H
23 |
24 | #ifdef __cplusplus /* If this is a C++ compiler, use C linkage */
25 | extern "C" {
26 | #endif
27 |
28 | #include "svPacketData.h"
29 |
30 |
31 |
32 |
33 | int decode_E1Q1SB1_C1_Performance(unsigned char *buf, CTYPE_INT16U smpCnt, struct E1Q1SB1_C1_Performance *E1Q1SB1_C1_Performance);
34 | int decode_E1Q1SB1_C1_Positions(unsigned char *buf, CTYPE_INT16U smpCnt, struct E1Q1SB1_C1_Positions *E1Q1SB1_C1_Positions);
35 | int decode_E1Q1SB1_C1_Measurands(unsigned char *buf, CTYPE_INT16U smpCnt, struct E1Q1SB1_C1_Measurands *E1Q1SB1_C1_Measurands);
36 | int decode_E1Q1SB1_C1_smv(unsigned char *buf, CTYPE_INT16U smpCnt, struct E1Q1SB1_C1_smv *E1Q1SB1_C1_smv);
37 | int decode_E1Q1SB1_C1_rmxu(unsigned char *buf, CTYPE_INT16U smpCnt, struct E1Q1SB1_C1_rmxu *E1Q1SB1_C1_rmxu);
38 | int decode_D1Q1SB4_C1_SyckResult(unsigned char *buf, CTYPE_INT16U smpCnt, struct D1Q1SB4_C1_SyckResult *D1Q1SB4_C1_SyckResult);
39 | int decode_D1Q1SB4_C1_MMXUResult(unsigned char *buf, CTYPE_INT16U smpCnt, struct D1Q1SB4_C1_MMXUResult *D1Q1SB4_C1_MMXUResult);
40 |
41 | void svDecodeDataset(unsigned char *dataset, int datasetLength, int ASDU, unsigned char *svID, int svIDLength, CTYPE_INT16U smpCnt);
42 |
43 |
44 |
45 | #ifdef __cplusplus /* If this is a C++ compiler, end C linkage */
46 | }
47 | #endif
48 |
49 | #endif
50 |
--------------------------------------------------------------------------------
/c/src/svDecodeBasic.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Rapid-prototyping protection schemes with IEC 61850
3 | *
4 | * Copyright (c) 2012 Steven Blair
5 | *
6 | * This program is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU General Public License
8 | * as published by the Free Software Foundation; either version 2
9 | * of the License, or (at your option) any later version.
10 |
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 | */
20 |
21 | #ifndef SV_DECODE_BASIC_H
22 | #define SV_DECODE_BASIC_H
23 |
24 | #include "datatypes.h"
25 |
26 | #ifdef __cplusplus /* If this is a C++ compiler, use C linkage */
27 | extern "C" {
28 | #endif
29 |
30 | int DECODE_CTYPE_FLOAT32(unsigned char *buf, CTYPE_FLOAT32 *value);
31 | int DECODE_CTYPE_FLOAT64(unsigned char *buf, CTYPE_FLOAT64 *value);
32 | int DECODE_CTYPE_QUALITY(unsigned char *buf, CTYPE_QUALITY *value);
33 | int DECODE_CTYPE_TIMESTAMP(unsigned char *buf, CTYPE_TIMESTAMP *value);
34 | int DECODE_CTYPE_ENUM(unsigned char *buf, CTYPE_ENUM *value);
35 | int DECODE_CTYPE_INT8(unsigned char *buf, CTYPE_INT8 *value) ;
36 | int DECODE_CTYPE_INT16(unsigned char *buf, CTYPE_INT16 *value);
37 | int DECODE_CTYPE_INT32(unsigned char *buf, CTYPE_INT32 *value);
38 | int DECODE_CTYPE_INT16U(unsigned char *buf, CTYPE_INT16U *value);
39 | int DECODE_CTYPE_INT32U(unsigned char *buf, CTYPE_INT32U *value);
40 | int DECODE_CTYPE_VISSTRING255(unsigned char *buf, CTYPE_VISSTRING255 *value);
41 | int DECODE_CTYPE_BOOLEAN(unsigned char *buf, CTYPE_BOOLEAN *value);
42 | int DECODE_CTYPE_DBPOS(unsigned char *buf, CTYPE_DBPOS *value);
43 |
44 | #ifdef __cplusplus /* If this is a C++ compiler, end C linkage */
45 | }
46 | #endif
47 |
48 | #endif
49 |
--------------------------------------------------------------------------------
/c/src/svEncode.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Rapid-prototyping protection schemes with IEC 61850
3 | *
4 | * Copyright (c) 2014 Steven Blair
5 | *
6 | * This program is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU General Public License
8 | * as published by the Free Software Foundation; either version 2
9 | * of the License, or (at your option) any later version.
10 |
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 | */
20 |
21 | #ifndef SV_ENCODE_H
22 | #define SV_ENCODE_H
23 |
24 | #ifdef __cplusplus /* If this is a C++ compiler, use C linkage */
25 | extern "C" {
26 | #endif
27 |
28 | #include "svEncodeBasic.h"
29 | #include "svPacketData.h"
30 |
31 |
32 |
33 |
34 | int encode_E1Q1SB1_C1_Performance(unsigned char *buf);
35 | int encode_control_E1Q1SB1_C1_PerformanceSV(unsigned char *buf);
36 | int encode_E1Q1SB1_C1_Positions(unsigned char *buf);
37 | int encode_E1Q1SB1_C1_Measurands(unsigned char *buf);
38 | int encode_E1Q1SB1_C1_smv(unsigned char *buf);
39 | int encode_control_E1Q1SB1_C1_Volt(unsigned char *buf);
40 | int encode_E1Q1SB1_C1_rmxu(unsigned char *buf);
41 | int encode_control_E1Q1SB1_C1_rmxuCB(unsigned char *buf);
42 | int encode_D1Q1SB4_C1_SyckResult(unsigned char *buf);
43 | int encode_D1Q1SB4_C1_MMXUResult(unsigned char *buf);
44 |
45 | int svEncodePacket(struct svControl *svControl, unsigned char *buf);
46 |
47 |
48 |
49 | #ifdef __cplusplus /* If this is a C++ compiler, end C linkage */
50 | }
51 | #endif
52 |
53 | #endif
54 |
--------------------------------------------------------------------------------
/c/src/svEncodeBasic.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Rapid-prototyping protection schemes with IEC 61850
3 | *
4 | * Copyright (c) 2012 Steven Blair
5 | *
6 | * This program is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU General Public License
8 | * as published by the Free Software Foundation; either version 2
9 | * of the License, or (at your option) any later version.
10 |
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 | */
20 |
21 | #ifndef SV_ENCODE_BASIC_H
22 | #define SV_ENCODE_BASIC_H
23 |
24 | #include "datatypes.h"
25 |
26 | #ifdef __cplusplus /* If this is a C++ compiler, use C linkage */
27 | extern "C" {
28 | #endif
29 |
30 | int ENCODE_CTYPE_FLOAT32(unsigned char *buf, CTYPE_FLOAT32 *value);
31 | int ENCODE_CTYPE_FLOAT64(unsigned char *buf, CTYPE_FLOAT64 *value);
32 | int ENCODE_CTYPE_QUALITY(unsigned char *buf, CTYPE_QUALITY *value);
33 | int ENCODE_CTYPE_TIMESTAMP(unsigned char *buf, CTYPE_TIMESTAMP *value);
34 | int ENCODE_CTYPE_ENUM(unsigned char *buf, CTYPE_ENUM *value);
35 | int ENCODE_CTYPE_INT8(unsigned char *buf, CTYPE_INT8 *value);
36 | int ENCODE_CTYPE_INT16(unsigned char *buf, CTYPE_INT16 *value);
37 | int ENCODE_CTYPE_INT32(unsigned char *buf, CTYPE_INT32 *value);
38 | int ENCODE_CTYPE_INT16U(unsigned char *buf, CTYPE_INT16U *value);
39 | int ENCODE_CTYPE_INT32U(unsigned char *buf, CTYPE_INT32U *value);
40 | int ENCODE_CTYPE_VISSTRING255(unsigned char *buf, CTYPE_VISSTRING255 *value);
41 | int ENCODE_CTYPE_BOOLEAN(unsigned char *buf, CTYPE_BOOLEAN *value);
42 | int ENCODE_CTYPE_DBPOS(unsigned char *buf, CTYPE_DBPOS *value);
43 |
44 | #ifdef __cplusplus /* If this is a C++ compiler, end C linkage */
45 | }
46 | #endif
47 |
48 | #endif
49 |
--------------------------------------------------------------------------------
/c/src/svPacketData.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Rapid-prototyping protection schemes with IEC 61850
3 | *
4 | * Copyright (c) 2012 Steven Blair
5 | *
6 | * This program is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU General Public License
8 | * as published by the Free Software Foundation; either version 2
9 | * of the License, or (at your option) any later version.
10 |
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 | */
20 |
21 | #ifndef SV_PACKET_DATA_H
22 | #define SV_PACKET_DATA_H
23 |
24 | #include
25 | #include
26 | #include "ctypes.h"
27 |
28 | #define SV_USE_VLAN 1 // set to "1" to insert VLAN tag into SV packets
29 | #define SV_OPTIONAL_SUPPORTED 0 // set to "1" to enable output of optional items in SV packets (Wireshark does not support these)
30 | #define SV_FIXED_SMPCNT_CONFREV_SIZE 1 // set to "1" to force smpCnt and confRev field to be fixed size, rather than BER encoded
31 |
32 | #define SV_MAX_DATASET_SIZE 512//1024
33 |
34 | struct ASDU {
35 | unsigned char *svID;
36 | unsigned char *datset; // optional
37 | CTYPE_INT16U smpCnt;
38 | CTYPE_INT32U confRev;
39 | //struct UtcTime refrTm; // optional
40 | CTYPE_TIMESTAMP refrTm; // optional
41 | CTYPE_BOOLEAN smpSynch;
42 | CTYPE_INT16U smpRate; // optional
43 | int showDatset;
44 | int showRefrTm;
45 | int showSmpRate;
46 | struct data {
47 | unsigned char data[SV_MAX_DATASET_SIZE];
48 | CTYPE_INT32U size;
49 | } data;
50 | };
51 |
52 | struct svControl {
53 | struct ethHeaderData ethHeaderData;
54 | short noASDU;
55 | struct ASDU *ASDU;
56 | CTYPE_INT16U ASDUCount; // stores present ASDU count; transmit a packet when equals "noASDU"
57 | CTYPE_INT16U sampleCountMaster;
58 | int (*update)(unsigned char *buf); // function pointer to save next ASDU, and possible send SV packet
59 | };
60 |
61 | #endif
62 |
--------------------------------------------------------------------------------
/emf/model/SCL.xsd:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | COPYRIGHT IEC, 2005. Version 1.4. Release 2005/09/11.
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
--------------------------------------------------------------------------------
/emf/model/SCL_BaseSimpleTypes.xsd:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | COPYRIGHT IEC, 2005. Version 1.4. Release 2005/09/11.
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/emf/model/SCL_Coordinates.xsd:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | COPYRIGHT IEC, 2005. Version 1.4. Release 2005/09/11.
6 | This schema is for infomational purposes only, and is not normative!
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/emf/model/SCL_Maintenance.xsd:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | COPYRIGHT IEC, 2005. Version 1.4. Release 2005/09/11.
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/sc/lcoordinates/LcoordinatesFactory.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.sc.lcoordinates;
8 |
9 | import org.eclipse.emf.ecore.EFactory;
10 |
11 | /**
12 | *
13 | * The Factory for the model.
14 | * It provides a create method for each non-abstract class of the model.
15 | *
16 | * @see ch.iec._61850._2006.sc.lcoordinates.LcoordinatesPackage
17 | * @generated
18 | */
19 | public interface LcoordinatesFactory extends EFactory {
20 | /**
21 | * The singleton instance of the factory.
22 | *
23 | *
24 | * @generated
25 | */
26 | LcoordinatesFactory eINSTANCE = ch.iec._61850._2006.sc.lcoordinates.impl.LcoordinatesFactoryImpl.init();
27 |
28 | /**
29 | * Returns a new object of class 'Coord Type'.
30 | *
31 | *
32 | * @return a new object of class 'Coord Type'.
33 | * @generated
34 | */
35 | CoordType createCoordType();
36 |
37 | /**
38 | * Returns a new object of class 'Document Root'.
39 | *
40 | *
41 | * @return a new object of class 'Document Root'.
42 | * @generated
43 | */
44 | DocumentRoot createDocumentRoot();
45 |
46 | /**
47 | * Returns the package supported by this factory.
48 | *
49 | *
50 | * @return the package supported by this factory.
51 | * @generated
52 | */
53 | LcoordinatesPackage getLcoordinatesPackage();
54 |
55 | } //LcoordinatesFactory
56 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/sc/lcoordinates/util/LcoordinatesResourceFactoryImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.sc.lcoordinates.util;
8 |
9 | import org.eclipse.emf.common.util.URI;
10 |
11 | import org.eclipse.emf.ecore.resource.Resource;
12 |
13 | import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
14 |
15 | import org.eclipse.emf.ecore.xmi.XMLResource;
16 |
17 | /**
18 | *
19 | * The Resource Factory associated with the package.
20 | *
21 | * @see ch.iec._61850._2006.sc.lcoordinates.util.LcoordinatesResourceImpl
22 | * @generated
23 | */
24 | public class LcoordinatesResourceFactoryImpl extends ResourceFactoryImpl {
25 | /**
26 | * Creates an instance of the resource factory.
27 | *
28 | *
29 | * @generated
30 | */
31 | public LcoordinatesResourceFactoryImpl() {
32 | super();
33 | }
34 |
35 | /**
36 | * Creates an instance of the resource.
37 | *
38 | *
39 | * @generated
40 | */
41 | @Override
42 | public Resource createResource(URI uri) {
43 | XMLResource result = new LcoordinatesResourceImpl(uri);
44 | result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
45 | result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
46 |
47 | result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
48 |
49 | result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
50 | result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
51 |
52 | result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
53 | return result;
54 | }
55 |
56 | } //LcoordinatesResourceFactoryImpl
57 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/sc/lcoordinates/util/LcoordinatesResourceImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.sc.lcoordinates.util;
8 |
9 | import org.eclipse.emf.common.util.URI;
10 |
11 | import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
12 |
13 | /**
14 | *
15 | * The Resource associated with the package.
16 | *
17 | * @see ch.iec._61850._2006.sc.lcoordinates.util.LcoordinatesResourceFactoryImpl
18 | * @generated
19 | */
20 | public class LcoordinatesResourceImpl extends XMLResourceImpl {
21 | /**
22 | * Creates an instance of the resource.
23 | *
24 | *
25 | * @param uri the URI of the new resource.
26 | * @generated
27 | */
28 | public LcoordinatesResourceImpl(URI uri) {
29 | super(uri);
30 | }
31 |
32 | } //LcoordinatesResourceImpl
33 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/sc/lcoordinates/util/LcoordinatesXMLProcessor.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.sc.lcoordinates.util;
8 |
9 | import ch.iec._61850._2006.sc.lcoordinates.LcoordinatesPackage;
10 |
11 | import java.util.Map;
12 |
13 | import org.eclipse.emf.ecore.EPackage;
14 |
15 | import org.eclipse.emf.ecore.resource.Resource;
16 |
17 | import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
18 |
19 | /**
20 | * This class contains helper methods to serialize and deserialize XML documents
21 | *
22 | *
23 | * @generated
24 | */
25 | public class LcoordinatesXMLProcessor extends XMLProcessor {
26 |
27 | /**
28 | * Public constructor to instantiate the helper.
29 | *
30 | *
31 | * @generated
32 | */
33 | public LcoordinatesXMLProcessor() {
34 | super((EPackage.Registry.INSTANCE));
35 | LcoordinatesPackage.eINSTANCE.eClass();
36 | }
37 |
38 | /**
39 | * Register for "*" and "xml" file extensions the LcoordinatesResourceFactoryImpl factory.
40 | *
41 | *
42 | * @generated
43 | */
44 | @Override
45 | protected Map getRegistrations() {
46 | if (registrations == null) {
47 | super.getRegistrations();
48 | registrations.put(XML_EXTENSION, new LcoordinatesResourceFactoryImpl());
49 | registrations.put(STAR_EXTENSION, new LcoordinatesResourceFactoryImpl());
50 | }
51 | return registrations;
52 | }
53 |
54 | } //LcoordinatesXMLProcessor
55 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/sc/lmaintenance/LmaintenanceFactory.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.sc.lmaintenance;
8 |
9 | import org.eclipse.emf.ecore.EFactory;
10 |
11 | /**
12 | *
13 | * The Factory for the model.
14 | * It provides a create method for each non-abstract class of the model.
15 | *
16 | * @see ch.iec._61850._2006.sc.lmaintenance.LmaintenancePackage
17 | * @generated
18 | */
19 | public interface LmaintenanceFactory extends EFactory {
20 | /**
21 | * The singleton instance of the factory.
22 | *
23 | *
24 | * @generated
25 | */
26 | LmaintenanceFactory eINSTANCE = ch.iec._61850._2006.sc.lmaintenance.impl.LmaintenanceFactoryImpl.init();
27 |
28 | /**
29 | * Returns a new object of class 'Cond Desc Type'.
30 | *
31 | *
32 | * @return a new object of class 'Cond Desc Type'.
33 | * @generated
34 | */
35 | CondDescType createCondDescType();
36 |
37 | /**
38 | * Returns a new object of class 'Document Root'.
39 | *
40 | *
41 | * @return a new object of class 'Document Root'.
42 | * @generated
43 | */
44 | DocumentRoot createDocumentRoot();
45 |
46 | /**
47 | * Returns the package supported by this factory.
48 | *
49 | *
50 | * @return the package supported by this factory.
51 | * @generated
52 | */
53 | LmaintenancePackage getLmaintenancePackage();
54 |
55 | } //LmaintenanceFactory
56 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/sc/lmaintenance/util/LmaintenanceResourceFactoryImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.sc.lmaintenance.util;
8 |
9 | import org.eclipse.emf.common.util.URI;
10 |
11 | import org.eclipse.emf.ecore.resource.Resource;
12 |
13 | import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
14 |
15 | import org.eclipse.emf.ecore.xmi.XMLResource;
16 |
17 | /**
18 | *
19 | * The Resource Factory associated with the package.
20 | *
21 | * @see ch.iec._61850._2006.sc.lmaintenance.util.LmaintenanceResourceImpl
22 | * @generated
23 | */
24 | public class LmaintenanceResourceFactoryImpl extends ResourceFactoryImpl {
25 | /**
26 | * Creates an instance of the resource factory.
27 | *
28 | *
29 | * @generated
30 | */
31 | public LmaintenanceResourceFactoryImpl() {
32 | super();
33 | }
34 |
35 | /**
36 | * Creates an instance of the resource.
37 | *
38 | *
39 | * @generated
40 | */
41 | @Override
42 | public Resource createResource(URI uri) {
43 | XMLResource result = new LmaintenanceResourceImpl(uri);
44 | result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
45 | result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
46 |
47 | result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
48 |
49 | result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
50 | result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
51 |
52 | result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
53 | return result;
54 | }
55 |
56 | } //LmaintenanceResourceFactoryImpl
57 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/sc/lmaintenance/util/LmaintenanceResourceImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.sc.lmaintenance.util;
8 |
9 | import org.eclipse.emf.common.util.URI;
10 |
11 | import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
12 |
13 | /**
14 | *
15 | * The Resource associated with the package.
16 | *
17 | * @see ch.iec._61850._2006.sc.lmaintenance.util.LmaintenanceResourceFactoryImpl
18 | * @generated
19 | */
20 | public class LmaintenanceResourceImpl extends XMLResourceImpl {
21 | /**
22 | * Creates an instance of the resource.
23 | *
24 | *
25 | * @param uri the URI of the new resource.
26 | * @generated
27 | */
28 | public LmaintenanceResourceImpl(URI uri) {
29 | super(uri);
30 | }
31 |
32 | } //LmaintenanceResourceImpl
33 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/sc/lmaintenance/util/LmaintenanceXMLProcessor.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.sc.lmaintenance.util;
8 |
9 | import ch.iec._61850._2006.sc.lmaintenance.LmaintenancePackage;
10 |
11 | import java.util.Map;
12 |
13 | import org.eclipse.emf.ecore.EPackage;
14 |
15 | import org.eclipse.emf.ecore.resource.Resource;
16 |
17 | import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
18 |
19 | /**
20 | * This class contains helper methods to serialize and deserialize XML documents
21 | *
22 | *
23 | * @generated
24 | */
25 | public class LmaintenanceXMLProcessor extends XMLProcessor {
26 |
27 | /**
28 | * Public constructor to instantiate the helper.
29 | *
30 | *
31 | * @generated
32 | */
33 | public LmaintenanceXMLProcessor() {
34 | super((EPackage.Registry.INSTANCE));
35 | LmaintenancePackage.eINSTANCE.eClass();
36 | }
37 |
38 | /**
39 | * Register for "*" and "xml" file extensions the LmaintenanceResourceFactoryImpl factory.
40 | *
41 | *
42 | * @generated
43 | */
44 | @Override
45 | protected Map getRegistrations() {
46 | if (registrations == null) {
47 | super.getRegistrations();
48 | registrations.put(XML_EXTENSION, new LmaintenanceResourceFactoryImpl());
49 | registrations.put(STAR_EXTENSION, new LmaintenanceResourceFactoryImpl());
50 | }
51 | return registrations;
52 | }
53 |
54 | } //LmaintenanceXMLProcessor
55 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/HistoryType.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 | import org.eclipse.emf.common.util.EList;
10 |
11 | import org.eclipse.emf.ecore.EObject;
12 |
13 | /**
14 | *
15 | * A representation of the model object 'History Type'.
16 | *
17 | *
18 | *
19 | * The following features are supported:
20 | *
21 | * - {@link ch.iec._61850._2006.scl.HistoryType#getHitem Hitem}
22 | *
23 | *
24 | *
25 | * @see ch.iec._61850._2006.scl.SclPackage#getHistoryType()
26 | * @model extendedMetaData="name='History_._type' kind='elementOnly'"
27 | * @generated
28 | */
29 | public interface HistoryType extends EObject {
30 | /**
31 | * Returns the value of the 'Hitem' containment reference list.
32 | * The list contents are of type {@link ch.iec._61850._2006.scl.THitem}.
33 | *
34 | *
35 | * If the meaning of the 'Hitem' containment reference list isn't clear,
36 | * there really should be more of a description here...
37 | *
38 | *
39 | * @return the value of the 'Hitem' containment reference list.
40 | * @see ch.iec._61850._2006.scl.SclPackage#getHistoryType_Hitem()
41 | * @model containment="true" required="true"
42 | * extendedMetaData="kind='element' name='Hitem' namespace='##targetNamespace'"
43 | * @generated
44 | */
45 | EList getHitem();
46 |
47 | } // HistoryType
48 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/LN0Type.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'LN0 Type'.
13 | *
14 | *
15 | *
16 | * @see ch.iec._61850._2006.scl.SclPackage#getLN0Type()
17 | * @model extendedMetaData="name='LN0_._type' kind='elementOnly'"
18 | * @generated
19 | */
20 | public interface LN0Type extends TLN0 {
21 | } // LN0Type
22 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TAbstractConductingEquipment.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 | import org.eclipse.emf.common.util.EList;
10 |
11 | /**
12 | *
13 | * A representation of the model object 'TAbstract Conducting Equipment'.
14 | *
15 | *
16 | *
17 | * The following features are supported:
18 | *
19 | * - {@link ch.iec._61850._2006.scl.TAbstractConductingEquipment#getTerminal Terminal}
20 | * - {@link ch.iec._61850._2006.scl.TAbstractConductingEquipment#getSubEquipment Sub Equipment}
21 | *
22 | *
23 | *
24 | * @see ch.iec._61850._2006.scl.SclPackage#getTAbstractConductingEquipment()
25 | * @model abstract="true"
26 | * extendedMetaData="name='tAbstractConductingEquipment' kind='elementOnly'"
27 | * @generated
28 | */
29 | public interface TAbstractConductingEquipment extends TEquipment {
30 | /**
31 | * Returns the value of the 'Terminal' containment reference list.
32 | * The list contents are of type {@link ch.iec._61850._2006.scl.TTerminal}.
33 | *
34 | *
35 | * If the meaning of the 'Terminal' containment reference list isn't clear,
36 | * there really should be more of a description here...
37 | *
38 | *
39 | * @return the value of the 'Terminal' containment reference list.
40 | * @see ch.iec._61850._2006.scl.SclPackage#getTAbstractConductingEquipment_Terminal()
41 | * @model containment="true" upper="2"
42 | * extendedMetaData="kind='element' name='Terminal' namespace='##targetNamespace'"
43 | * @generated
44 | */
45 | EList getTerminal();
46 |
47 | /**
48 | * Returns the value of the 'Sub Equipment' containment reference list.
49 | * The list contents are of type {@link ch.iec._61850._2006.scl.TSubEquipment}.
50 | *
51 | *
52 | * If the meaning of the 'Sub Equipment' containment reference list isn't clear,
53 | * there really should be more of a description here...
54 | *
55 | *
56 | * @return the value of the 'Sub Equipment' containment reference list.
57 | * @see ch.iec._61850._2006.scl.SclPackage#getTAbstractConductingEquipment_SubEquipment()
58 | * @model containment="true"
59 | * extendedMetaData="kind='element' name='SubEquipment' namespace='##targetNamespace'"
60 | * @generated
61 | */
62 | EList getSubEquipment();
63 |
64 | } // TAbstractConductingEquipment
65 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TAccessControl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TAccess Control'.
13 | *
14 | *
15 | *
16 | * @see ch.iec._61850._2006.scl.SclPackage#getTAccessControl()
17 | * @model extendedMetaData="name='tAccessControl' kind='mixed'"
18 | * @generated
19 | */
20 | public interface TAccessControl extends TAnyContentFromOtherNamespace {
21 | } // TAccessControl
22 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TAddress.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 | import org.eclipse.emf.common.util.EList;
10 |
11 | import org.eclipse.emf.ecore.EObject;
12 |
13 | /**
14 | *
15 | * A representation of the model object 'TAddress'.
16 | *
17 | *
18 | *
19 | * The following features are supported:
20 | *
21 | * - {@link ch.iec._61850._2006.scl.TAddress#getP P}
22 | *
23 | *
24 | *
25 | * @see ch.iec._61850._2006.scl.SclPackage#getTAddress()
26 | * @model extendedMetaData="name='tAddress' kind='elementOnly'"
27 | * @generated
28 | */
29 | public interface TAddress extends EObject {
30 | /**
31 | * Returns the value of the 'P' containment reference list.
32 | * The list contents are of type {@link ch.iec._61850._2006.scl.TP}.
33 | *
34 | *
35 | * If the meaning of the 'P' containment reference list isn't clear,
36 | * there really should be more of a description here...
37 | *
38 | *
39 | * @return the value of the 'P' containment reference list.
40 | * @see ch.iec._61850._2006.scl.SclPackage#getTAddress_P()
41 | * @model containment="true" required="true"
42 | * extendedMetaData="kind='element' name='P' namespace='##targetNamespace'"
43 | * @generated
44 | */
45 | EList getP();
46 |
47 | } // TAddress
48 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TBDA.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TBDA'.
13 | *
14 | *
15 | *
16 | * @see ch.iec._61850._2006.scl.SclPackage#getTBDA()
17 | * @model extendedMetaData="name='tBDA' kind='elementOnly'"
18 | * @generated
19 | */
20 | public interface TBDA extends TAbstractDataAttribute {
21 | } // TBDA
22 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TBay.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 | import org.eclipse.emf.common.util.EList;
10 |
11 | /**
12 | *
13 | * A representation of the model object 'TBay'.
14 | *
15 | *
16 | *
17 | * The following features are supported:
18 | *
19 | * - {@link ch.iec._61850._2006.scl.TBay#getConductingEquipment Conducting Equipment}
20 | * - {@link ch.iec._61850._2006.scl.TBay#getConnectivityNode Connectivity Node}
21 | *
22 | *
23 | *
24 | * @see ch.iec._61850._2006.scl.SclPackage#getTBay()
25 | * @model extendedMetaData="name='tBay' kind='elementOnly'"
26 | * @generated
27 | */
28 | public interface TBay extends TEquipmentContainer {
29 | /**
30 | * Returns the value of the 'Conducting Equipment' containment reference list.
31 | * The list contents are of type {@link ch.iec._61850._2006.scl.TConductingEquipment}.
32 | *
33 | *
34 | * If the meaning of the 'Conducting Equipment' containment reference list isn't clear,
35 | * there really should be more of a description here...
36 | *
37 | *
38 | * @return the value of the 'Conducting Equipment' containment reference list.
39 | * @see ch.iec._61850._2006.scl.SclPackage#getTBay_ConductingEquipment()
40 | * @model containment="true"
41 | * extendedMetaData="kind='element' name='ConductingEquipment' namespace='##targetNamespace'"
42 | * @generated
43 | */
44 | EList getConductingEquipment();
45 |
46 | /**
47 | * Returns the value of the 'Connectivity Node' containment reference list.
48 | * The list contents are of type {@link ch.iec._61850._2006.scl.TConnectivityNode}.
49 | *
50 | *
51 | * If the meaning of the 'Connectivity Node' containment reference list isn't clear,
52 | * there really should be more of a description here...
53 | *
54 | *
55 | * @return the value of the 'Connectivity Node' containment reference list.
56 | * @see ch.iec._61850._2006.scl.SclPackage#getTBay_ConnectivityNode()
57 | * @model containment="true"
58 | * extendedMetaData="kind='element' name='ConnectivityNode' namespace='##targetNamespace'"
59 | * @generated
60 | */
61 | EList getConnectivityNode();
62 |
63 | } // TBay
64 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TBitRateInMbPerSec.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TBit Rate In Mb Per Sec'.
13 | *
14 | *
15 | *
16 | * @see ch.iec._61850._2006.scl.SclPackage#getTBitRateInMbPerSec()
17 | * @model extendedMetaData="name='tBitRateInMbPerSec' kind='simple'"
18 | * @generated
19 | */
20 | public interface TBitRateInMbPerSec extends TValueWithUnit {
21 | } // TBitRateInMbPerSec
22 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TCommunication.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 | import org.eclipse.emf.common.util.EList;
10 |
11 | /**
12 | *
13 | * A representation of the model object 'TCommunication'.
14 | *
15 | *
16 | *
17 | * The following features are supported:
18 | *
19 | * - {@link ch.iec._61850._2006.scl.TCommunication#getSubNetwork Sub Network}
20 | *
21 | *
22 | *
23 | * @see ch.iec._61850._2006.scl.SclPackage#getTCommunication()
24 | * @model extendedMetaData="name='tCommunication' kind='elementOnly'"
25 | * @generated
26 | */
27 | public interface TCommunication extends TUnNaming {
28 | /**
29 | * Returns the value of the 'Sub Network' containment reference list.
30 | * The list contents are of type {@link ch.iec._61850._2006.scl.TSubNetwork}.
31 | *
32 | *
33 | * If the meaning of the 'Sub Network' containment reference list isn't clear,
34 | * there really should be more of a description here...
35 | *
36 | *
37 | * @return the value of the 'Sub Network' containment reference list.
38 | * @see ch.iec._61850._2006.scl.SclPackage#getTCommunication_SubNetwork()
39 | * @model containment="true" required="true"
40 | * extendedMetaData="kind='element' name='SubNetwork' namespace='##targetNamespace'"
41 | * @generated
42 | */
43 | EList getSubNetwork();
44 |
45 | } // TCommunication
46 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TConductingEquipment.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TConducting Equipment'.
13 | *
14 | *
15 | *
16 | * The following features are supported:
17 | *
18 | * - {@link ch.iec._61850._2006.scl.TConductingEquipment#getType Type}
19 | *
20 | *
21 | *
22 | * @see ch.iec._61850._2006.scl.SclPackage#getTConductingEquipment()
23 | * @model extendedMetaData="name='tConductingEquipment' kind='elementOnly'"
24 | * @generated
25 | */
26 | public interface TConductingEquipment extends TAbstractConductingEquipment {
27 | /**
28 | * Returns the value of the 'Type' attribute.
29 | *
30 | *
31 | * If the meaning of the 'Type' attribute isn't clear,
32 | * there really should be more of a description here...
33 | *
34 | *
35 | * @return the value of the 'Type' attribute.
36 | * @see #setType(Object)
37 | * @see ch.iec._61850._2006.scl.SclPackage#getTConductingEquipment_Type()
38 | * @model dataType="ch.iec._61850._2006.scl.TCommonConductingEquipmentEnum" required="true"
39 | * extendedMetaData="kind='attribute' name='type'"
40 | * @generated
41 | */
42 | Object getType();
43 |
44 | /**
45 | * Sets the value of the '{@link ch.iec._61850._2006.scl.TConductingEquipment#getType Type}' attribute.
46 | *
47 | *
48 | * @param value the new value of the 'Type' attribute.
49 | * @see #getType()
50 | * @generated
51 | */
52 | void setType(Object value);
53 |
54 | } // TConductingEquipment
55 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TConnectivityNode.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TConnectivity Node'.
13 | *
14 | *
15 | *
16 | * The following features are supported:
17 | *
18 | * - {@link ch.iec._61850._2006.scl.TConnectivityNode#getPathName Path Name}
19 | *
20 | *
21 | *
22 | * @see ch.iec._61850._2006.scl.SclPackage#getTConnectivityNode()
23 | * @model extendedMetaData="name='tConnectivityNode' kind='elementOnly'"
24 | * @generated
25 | */
26 | public interface TConnectivityNode extends TLNodeContainer {
27 | /**
28 | * Returns the value of the 'Path Name' attribute.
29 | *
30 | *
31 | * If the meaning of the 'Path Name' attribute isn't clear,
32 | * there really should be more of a description here...
33 | *
34 | *
35 | * @return the value of the 'Path Name' attribute.
36 | * @see #setPathName(String)
37 | * @see ch.iec._61850._2006.scl.SclPackage#getTConnectivityNode_PathName()
38 | * @model dataType="ch.iec._61850._2006.scl.TRef" required="true"
39 | * extendedMetaData="kind='attribute' name='pathName'"
40 | * @generated
41 | */
42 | String getPathName();
43 |
44 | /**
45 | * Sets the value of the '{@link ch.iec._61850._2006.scl.TConnectivityNode#getPathName Path Name}' attribute.
46 | *
47 | *
48 | * @param value the new value of the 'Path Name' attribute.
49 | * @see #getPathName()
50 | * @generated
51 | */
52 | void setPathName(String value);
53 |
54 | } // TConnectivityNode
55 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TControl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TControl'.
13 | *
14 | *
15 | *
16 | * The following features are supported:
17 | *
18 | * - {@link ch.iec._61850._2006.scl.TControl#getDatSet Dat Set}
19 | *
20 | *
21 | *
22 | * @see ch.iec._61850._2006.scl.SclPackage#getTControl()
23 | * @model abstract="true"
24 | * extendedMetaData="name='tControl' kind='elementOnly'"
25 | * @generated
26 | */
27 | public interface TControl extends TNaming {
28 | /**
29 | * Returns the value of the 'Dat Set' attribute.
30 | *
31 | *
32 | * If the meaning of the 'Dat Set' attribute isn't clear,
33 | * there really should be more of a description here...
34 | *
35 | *
36 | * @return the value of the 'Dat Set' attribute.
37 | * @see #setDatSet(String)
38 | * @see ch.iec._61850._2006.scl.SclPackage#getTControl_DatSet()
39 | * @model dataType="ch.iec._61850._2006.scl.TName"
40 | * extendedMetaData="kind='attribute' name='datSet'"
41 | * @generated
42 | */
43 | String getDatSet();
44 |
45 | /**
46 | * Sets the value of the '{@link ch.iec._61850._2006.scl.TControl#getDatSet Dat Set}' attribute.
47 | *
48 | *
49 | * @param value the new value of the 'Dat Set' attribute.
50 | * @see #getDatSet()
51 | * @generated
52 | */
53 | void setDatSet(String value);
54 |
55 | } // TControl
56 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TDurationInMilliSec.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TDuration In Milli Sec'.
13 | *
14 | *
15 | *
16 | * @see ch.iec._61850._2006.scl.SclPackage#getTDurationInMilliSec()
17 | * @model extendedMetaData="name='tDurationInMilliSec' kind='simple'"
18 | * @generated
19 | */
20 | public interface TDurationInMilliSec extends TValueWithUnit {
21 | } // TDurationInMilliSec
22 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TDurationInSec.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TDuration In Sec'.
13 | *
14 | *
15 | *
16 | * @see ch.iec._61850._2006.scl.SclPackage#getTDurationInSec()
17 | * @model extendedMetaData="name='tDurationInSec' kind='simple'"
18 | * @generated
19 | */
20 | public interface TDurationInSec extends TValueWithUnit {
21 | } // TDurationInSec
22 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TEnumType.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 | import org.eclipse.emf.common.util.EList;
10 |
11 | /**
12 | *
13 | * A representation of the model object 'TEnum Type'.
14 | *
15 | *
16 | *
17 | * The following features are supported:
18 | *
19 | * - {@link ch.iec._61850._2006.scl.TEnumType#getEnumVal Enum Val}
20 | *
21 | *
22 | *
23 | * @see ch.iec._61850._2006.scl.SclPackage#getTEnumType()
24 | * @model extendedMetaData="name='tEnumType' kind='elementOnly'"
25 | * @generated
26 | */
27 | public interface TEnumType extends TIDNaming {
28 | /**
29 | * Returns the value of the 'Enum Val' containment reference list.
30 | * The list contents are of type {@link ch.iec._61850._2006.scl.TEnumVal}.
31 | *
32 | *
33 | * If the meaning of the 'Enum Val' containment reference list isn't clear,
34 | * there really should be more of a description here...
35 | *
36 | *
37 | * @return the value of the 'Enum Val' containment reference list.
38 | * @see ch.iec._61850._2006.scl.SclPackage#getTEnumType_EnumVal()
39 | * @model containment="true" required="true"
40 | * extendedMetaData="kind='element' name='EnumVal' namespace='##targetNamespace'"
41 | * @generated
42 | */
43 | EList getEnumVal();
44 |
45 | } // TEnumType
46 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TEquipment.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TEquipment'.
13 | *
14 | *
15 | *
16 | * The following features are supported:
17 | *
18 | * - {@link ch.iec._61850._2006.scl.TEquipment#isVirtual Virtual}
19 | *
20 | *
21 | *
22 | * @see ch.iec._61850._2006.scl.SclPackage#getTEquipment()
23 | * @model abstract="true"
24 | * extendedMetaData="name='tEquipment' kind='elementOnly'"
25 | * @generated
26 | */
27 | public interface TEquipment extends TPowerSystemResource {
28 | /**
29 | * Returns the value of the 'Virtual' attribute.
30 | * The default value is "false"
.
31 | *
32 | *
33 | * If the meaning of the 'Virtual' attribute isn't clear,
34 | * there really should be more of a description here...
35 | *
36 | *
37 | * @return the value of the 'Virtual' attribute.
38 | * @see #isSetVirtual()
39 | * @see #unsetVirtual()
40 | * @see #setVirtual(boolean)
41 | * @see ch.iec._61850._2006.scl.SclPackage#getTEquipment_Virtual()
42 | * @model default="false" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
43 | * extendedMetaData="kind='attribute' name='virtual'"
44 | * @generated
45 | */
46 | boolean isVirtual();
47 |
48 | /**
49 | * Sets the value of the '{@link ch.iec._61850._2006.scl.TEquipment#isVirtual Virtual}' attribute.
50 | *
51 | *
52 | * @param value the new value of the 'Virtual' attribute.
53 | * @see #isSetVirtual()
54 | * @see #unsetVirtual()
55 | * @see #isVirtual()
56 | * @generated
57 | */
58 | void setVirtual(boolean value);
59 |
60 | /**
61 | * Unsets the value of the '{@link ch.iec._61850._2006.scl.TEquipment#isVirtual Virtual}' attribute.
62 | *
63 | *
64 | * @see #isSetVirtual()
65 | * @see #isVirtual()
66 | * @see #setVirtual(boolean)
67 | * @generated
68 | */
69 | void unsetVirtual();
70 |
71 | /**
72 | * Returns whether the value of the '{@link ch.iec._61850._2006.scl.TEquipment#isVirtual Virtual}' attribute is set.
73 | *
74 | *
75 | * @return whether the value of the 'Virtual' attribute is set.
76 | * @see #unsetVirtual()
77 | * @see #isVirtual()
78 | * @see #setVirtual(boolean)
79 | * @generated
80 | */
81 | boolean isSetVirtual();
82 |
83 | } // TEquipment
84 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TEquipmentContainer.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 | import org.eclipse.emf.common.util.EList;
10 |
11 | /**
12 | *
13 | * A representation of the model object 'TEquipment Container'.
14 | *
15 | *
16 | *
17 | * The following features are supported:
18 | *
19 | * - {@link ch.iec._61850._2006.scl.TEquipmentContainer#getPowerTransformer Power Transformer}
20 | * - {@link ch.iec._61850._2006.scl.TEquipmentContainer#getGeneralEquipment General Equipment}
21 | *
22 | *
23 | *
24 | * @see ch.iec._61850._2006.scl.SclPackage#getTEquipmentContainer()
25 | * @model abstract="true"
26 | * extendedMetaData="name='tEquipmentContainer' kind='elementOnly'"
27 | * @generated
28 | */
29 | public interface TEquipmentContainer extends TPowerSystemResource {
30 | /**
31 | * Returns the value of the 'Power Transformer' containment reference list.
32 | * The list contents are of type {@link ch.iec._61850._2006.scl.TPowerTransformer}.
33 | *
34 | *
35 | * If the meaning of the 'Power Transformer' containment reference list isn't clear,
36 | * there really should be more of a description here...
37 | *
38 | *
39 | * @return the value of the 'Power Transformer' containment reference list.
40 | * @see ch.iec._61850._2006.scl.SclPackage#getTEquipmentContainer_PowerTransformer()
41 | * @model containment="true"
42 | * extendedMetaData="kind='element' name='PowerTransformer' namespace='##targetNamespace'"
43 | * @generated
44 | */
45 | EList getPowerTransformer();
46 |
47 | /**
48 | * Returns the value of the 'General Equipment' containment reference list.
49 | * The list contents are of type {@link ch.iec._61850._2006.scl.TGeneralEquipment}.
50 | *
51 | *
52 | * If the meaning of the 'General Equipment' containment reference list isn't clear,
53 | * there really should be more of a description here...
54 | *
55 | *
56 | * @return the value of the 'General Equipment' containment reference list.
57 | * @see ch.iec._61850._2006.scl.SclPackage#getTEquipmentContainer_GeneralEquipment()
58 | * @model containment="true"
59 | * extendedMetaData="kind='element' name='GeneralEquipment' namespace='##targetNamespace'"
60 | * @generated
61 | */
62 | EList getGeneralEquipment();
63 |
64 | } // TEquipmentContainer
65 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TFunction.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 | import org.eclipse.emf.common.util.EList;
10 |
11 | /**
12 | *
13 | * A representation of the model object 'TFunction'.
14 | *
15 | *
16 | *
17 | * The following features are supported:
18 | *
19 | * - {@link ch.iec._61850._2006.scl.TFunction#getSubFunction Sub Function}
20 | * - {@link ch.iec._61850._2006.scl.TFunction#getGeneralEquipment General Equipment}
21 | *
22 | *
23 | *
24 | * @see ch.iec._61850._2006.scl.SclPackage#getTFunction()
25 | * @model extendedMetaData="name='tFunction' kind='elementOnly'"
26 | * @generated
27 | */
28 | public interface TFunction extends TPowerSystemResource {
29 | /**
30 | * Returns the value of the 'Sub Function' containment reference list.
31 | * The list contents are of type {@link ch.iec._61850._2006.scl.TSubFunction}.
32 | *
33 | *
34 | * If the meaning of the 'Sub Function' containment reference list isn't clear,
35 | * there really should be more of a description here...
36 | *
37 | *
38 | * @return the value of the 'Sub Function' containment reference list.
39 | * @see ch.iec._61850._2006.scl.SclPackage#getTFunction_SubFunction()
40 | * @model containment="true"
41 | * extendedMetaData="kind='element' name='SubFunction' namespace='##targetNamespace'"
42 | * @generated
43 | */
44 | EList getSubFunction();
45 |
46 | /**
47 | * Returns the value of the 'General Equipment' containment reference list.
48 | * The list contents are of type {@link ch.iec._61850._2006.scl.TGeneralEquipment}.
49 | *
50 | *
51 | * If the meaning of the 'General Equipment' containment reference list isn't clear,
52 | * there really should be more of a description here...
53 | *
54 | *
55 | * @return the value of the 'General Equipment' containment reference list.
56 | * @see ch.iec._61850._2006.scl.SclPackage#getTFunction_GeneralEquipment()
57 | * @model containment="true"
58 | * extendedMetaData="kind='element' name='GeneralEquipment' namespace='##targetNamespace'"
59 | * @generated
60 | */
61 | EList getGeneralEquipment();
62 |
63 | } // TFunction
64 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TGeneralEquipment.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TGeneral Equipment'.
13 | *
14 | *
15 | *
16 | * The following features are supported:
17 | *
18 | * - {@link ch.iec._61850._2006.scl.TGeneralEquipment#getType Type}
19 | *
20 | *
21 | *
22 | * @see ch.iec._61850._2006.scl.SclPackage#getTGeneralEquipment()
23 | * @model extendedMetaData="name='tGeneralEquipment' kind='elementOnly'"
24 | * @generated
25 | */
26 | public interface TGeneralEquipment extends TEquipment {
27 | /**
28 | * Returns the value of the 'Type' attribute.
29 | *
30 | *
31 | * If the meaning of the 'Type' attribute isn't clear,
32 | * there really should be more of a description here...
33 | *
34 | *
35 | * @return the value of the 'Type' attribute.
36 | * @see #setType(Object)
37 | * @see ch.iec._61850._2006.scl.SclPackage#getTGeneralEquipment_Type()
38 | * @model dataType="ch.iec._61850._2006.scl.TGeneralEquipmentEnum" required="true"
39 | * extendedMetaData="kind='attribute' name='type'"
40 | * @generated
41 | */
42 | Object getType();
43 |
44 | /**
45 | * Sets the value of the '{@link ch.iec._61850._2006.scl.TGeneralEquipment#getType Type}' attribute.
46 | *
47 | *
48 | * @param value the new value of the 'Type' attribute.
49 | * @see #getType()
50 | * @generated
51 | */
52 | void setType(Object value);
53 |
54 | } // TGeneralEquipment
55 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TIDNaming.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TID Naming'.
13 | *
14 | *
15 | *
16 | * The following features are supported:
17 | *
18 | * - {@link ch.iec._61850._2006.scl.TIDNaming#getDesc Desc}
19 | * - {@link ch.iec._61850._2006.scl.TIDNaming#getId Id}
20 | *
21 | *
22 | *
23 | * @see ch.iec._61850._2006.scl.SclPackage#getTIDNaming()
24 | * @model abstract="true"
25 | * extendedMetaData="name='tIDNaming' kind='elementOnly'"
26 | * @generated
27 | */
28 | public interface TIDNaming extends TBaseElement {
29 | /**
30 | * Returns the value of the 'Desc' attribute.
31 | *
32 | *
33 | * If the meaning of the 'Desc' attribute isn't clear,
34 | * there really should be more of a description here...
35 | *
36 | *
37 | * @return the value of the 'Desc' attribute.
38 | * @see #setDesc(String)
39 | * @see ch.iec._61850._2006.scl.SclPackage#getTIDNaming_Desc()
40 | * @model dataType="org.eclipse.emf.ecore.xml.type.NormalizedString"
41 | * extendedMetaData="kind='attribute' name='desc'"
42 | * @generated
43 | */
44 | String getDesc();
45 |
46 | /**
47 | * Sets the value of the '{@link ch.iec._61850._2006.scl.TIDNaming#getDesc Desc}' attribute.
48 | *
49 | *
50 | * @param value the new value of the 'Desc' attribute.
51 | * @see #getDesc()
52 | * @generated
53 | */
54 | void setDesc(String value);
55 |
56 | /**
57 | * Returns the value of the 'Id' attribute.
58 | *
59 | *
60 | * If the meaning of the 'Id' attribute isn't clear,
61 | * there really should be more of a description here...
62 | *
63 | *
64 | * @return the value of the 'Id' attribute.
65 | * @see #setId(String)
66 | * @see ch.iec._61850._2006.scl.SclPackage#getTIDNaming_Id()
67 | * @model dataType="ch.iec._61850._2006.scl.TName" required="true"
68 | * extendedMetaData="kind='attribute' name='id'"
69 | * @generated
70 | */
71 | String getId();
72 |
73 | /**
74 | * Sets the value of the '{@link ch.iec._61850._2006.scl.TIDNaming#getId Id}' attribute.
75 | *
76 | *
77 | * @param value the new value of the 'Id' attribute.
78 | * @see #getId()
79 | * @generated
80 | */
81 | void setId(String value);
82 |
83 | } // TIDNaming
84 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TInputs.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 | import org.eclipse.emf.common.util.EList;
10 |
11 | /**
12 | *
13 | * A representation of the model object 'TInputs'.
14 | *
15 | *
16 | *
17 | * The following features are supported:
18 | *
19 | * - {@link ch.iec._61850._2006.scl.TInputs#getExtRef Ext Ref}
20 | *
21 | *
22 | *
23 | * @see ch.iec._61850._2006.scl.SclPackage#getTInputs()
24 | * @model extendedMetaData="name='tInputs' kind='elementOnly'"
25 | * @generated
26 | */
27 | public interface TInputs extends TUnNaming {
28 | /**
29 | * Returns the value of the 'Ext Ref' containment reference list.
30 | * The list contents are of type {@link ch.iec._61850._2006.scl.TExtRef}.
31 | *
32 | *
33 | * If the meaning of the 'Ext Ref' containment reference list isn't clear,
34 | * there really should be more of a description here...
35 | *
36 | *
37 | * @return the value of the 'Ext Ref' containment reference list.
38 | * @see ch.iec._61850._2006.scl.SclPackage#getTInputs_ExtRef()
39 | * @model containment="true" required="true"
40 | * extendedMetaData="kind='element' name='ExtRef' namespace='##targetNamespace'"
41 | * @generated
42 | */
43 | EList getExtRef();
44 |
45 | } // TInputs
46 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TLNodeContainer.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 | import org.eclipse.emf.common.util.EList;
10 |
11 | /**
12 | *
13 | * A representation of the model object 'TL Node Container'.
14 | *
15 | *
16 | *
17 | * The following features are supported:
18 | *
19 | * - {@link ch.iec._61850._2006.scl.TLNodeContainer#getLNode LNode}
20 | *
21 | *
22 | *
23 | * @see ch.iec._61850._2006.scl.SclPackage#getTLNodeContainer()
24 | * @model abstract="true"
25 | * extendedMetaData="name='tLNodeContainer' kind='elementOnly'"
26 | * @generated
27 | */
28 | public interface TLNodeContainer extends TNaming {
29 | /**
30 | * Returns the value of the 'LNode' containment reference list.
31 | * The list contents are of type {@link ch.iec._61850._2006.scl.TLNode}.
32 | *
33 | *
34 | * If the meaning of the 'LNode' containment reference list isn't clear,
35 | * there really should be more of a description here...
36 | *
37 | *
38 | * @return the value of the 'LNode' containment reference list.
39 | * @see ch.iec._61850._2006.scl.SclPackage#getTLNodeContainer_LNode()
40 | * @model containment="true"
41 | * extendedMetaData="kind='element' name='LNode' namespace='##targetNamespace'"
42 | * @generated
43 | */
44 | EList getLNode();
45 |
46 | } // TLNodeContainer
47 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TLog.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TLog'.
13 | *
14 | *
15 | *
16 | * @see ch.iec._61850._2006.scl.SclPackage#getTLog()
17 | * @model extendedMetaData="name='tLog' kind='mixed'"
18 | * @generated
19 | */
20 | public interface TLog extends TAnyContentFromOtherNamespace {
21 | } // TLog
22 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TNaming.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TNaming'.
13 | *
14 | *
15 | *
16 | * The following features are supported:
17 | *
18 | * - {@link ch.iec._61850._2006.scl.TNaming#getDesc Desc}
19 | * - {@link ch.iec._61850._2006.scl.TNaming#getName Name}
20 | *
21 | *
22 | *
23 | * @see ch.iec._61850._2006.scl.SclPackage#getTNaming()
24 | * @model abstract="true"
25 | * extendedMetaData="name='tNaming' kind='elementOnly'"
26 | * @generated
27 | */
28 | public interface TNaming extends TBaseElement {
29 | /**
30 | * Returns the value of the 'Desc' attribute.
31 | *
32 | *
33 | * If the meaning of the 'Desc' attribute isn't clear,
34 | * there really should be more of a description here...
35 | *
36 | *
37 | * @return the value of the 'Desc' attribute.
38 | * @see #setDesc(String)
39 | * @see ch.iec._61850._2006.scl.SclPackage#getTNaming_Desc()
40 | * @model dataType="org.eclipse.emf.ecore.xml.type.NormalizedString"
41 | * extendedMetaData="kind='attribute' name='desc'"
42 | * @generated
43 | */
44 | String getDesc();
45 |
46 | /**
47 | * Sets the value of the '{@link ch.iec._61850._2006.scl.TNaming#getDesc Desc}' attribute.
48 | *
49 | *
50 | * @param value the new value of the 'Desc' attribute.
51 | * @see #getDesc()
52 | * @generated
53 | */
54 | void setDesc(String value);
55 |
56 | /**
57 | * Returns the value of the 'Name' attribute.
58 | *
59 | *
60 | * If the meaning of the 'Name' attribute isn't clear,
61 | * there really should be more of a description here...
62 | *
63 | *
64 | * @return the value of the 'Name' attribute.
65 | * @see #setName(String)
66 | * @see ch.iec._61850._2006.scl.SclPackage#getTNaming_Name()
67 | * @model dataType="ch.iec._61850._2006.scl.TName" required="true"
68 | * extendedMetaData="kind='attribute' name='name'"
69 | * @generated
70 | */
71 | String getName();
72 |
73 | /**
74 | * Sets the value of the '{@link ch.iec._61850._2006.scl.TNaming#getName Name}' attribute.
75 | *
76 | *
77 | * @param value the new value of the 'Name' attribute.
78 | * @see #getName()
79 | * @generated
80 | */
81 | void setName(String value);
82 |
83 | } // TNaming
84 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TP.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 | import org.eclipse.emf.ecore.EObject;
10 |
11 | /**
12 | *
13 | * A representation of the model object 'TP'.
14 | *
15 | *
16 | *
17 | * The following features are supported:
18 | *
19 | * - {@link ch.iec._61850._2006.scl.TP#getValue Value}
20 | * - {@link ch.iec._61850._2006.scl.TP#getType Type}
21 | *
22 | *
23 | *
24 | * @see ch.iec._61850._2006.scl.SclPackage#getTP()
25 | * @model extendedMetaData="name='tP' kind='simple'"
26 | * @generated
27 | */
28 | public interface TP extends EObject {
29 | /**
30 | * Returns the value of the 'Value' attribute.
31 | *
32 | *
33 | * If the meaning of the 'Value' attribute isn't clear,
34 | * there really should be more of a description here...
35 | *
36 | *
37 | * @return the value of the 'Value' attribute.
38 | * @see #setValue(String)
39 | * @see ch.iec._61850._2006.scl.SclPackage#getTP_Value()
40 | * @model dataType="ch.iec._61850._2006.scl.TPAddr"
41 | * extendedMetaData="name=':0' kind='simple'"
42 | * @generated
43 | */
44 | String getValue();
45 |
46 | /**
47 | * Sets the value of the '{@link ch.iec._61850._2006.scl.TP#getValue Value}' attribute.
48 | *
49 | *
50 | * @param value the new value of the 'Value' attribute.
51 | * @see #getValue()
52 | * @generated
53 | */
54 | void setValue(String value);
55 |
56 | /**
57 | * Returns the value of the 'Type' attribute.
58 | *
59 | *
60 | * If the meaning of the 'Type' attribute isn't clear,
61 | * there really should be more of a description here...
62 | *
63 | *
64 | * @return the value of the 'Type' attribute.
65 | * @see #setType(Object)
66 | * @see ch.iec._61850._2006.scl.SclPackage#getTP_Type()
67 | * @model dataType="ch.iec._61850._2006.scl.TPTypeEnum" required="true"
68 | * extendedMetaData="kind='attribute' name='type'"
69 | * @generated
70 | */
71 | Object getType();
72 |
73 | /**
74 | * Sets the value of the '{@link ch.iec._61850._2006.scl.TP#getType Type}' attribute.
75 | *
76 | *
77 | * @param value the new value of the 'Type' attribute.
78 | * @see #getType()
79 | * @generated
80 | */
81 | void setType(Object value);
82 |
83 | } // TP
84 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TPAPPID.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TPAPPID'.
13 | *
14 | *
15 | *
16 | * @see ch.iec._61850._2006.scl.SclPackage#getTPAPPID()
17 | * @model extendedMetaData="name='tP_APPID' kind='simple'"
18 | * @generated
19 | */
20 | public interface TPAPPID extends TP {
21 | } // TPAPPID
22 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TPIP.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TPIP'.
13 | *
14 | *
15 | *
16 | * @see ch.iec._61850._2006.scl.SclPackage#getTPIP()
17 | * @model extendedMetaData="name='tP_IP' kind='simple'"
18 | * @generated
19 | */
20 | public interface TPIP extends TP {
21 | } // TPIP
22 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TPIPGATEWAY.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TPIPGATEWAY'.
13 | *
14 | *
15 | *
16 | * @see ch.iec._61850._2006.scl.SclPackage#getTPIPGATEWAY()
17 | * @model extendedMetaData="name='tP_IP-GATEWAY' kind='simple'"
18 | * @generated
19 | */
20 | public interface TPIPGATEWAY extends TP {
21 | } // TPIPGATEWAY
22 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TPIPSUBNET.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TPIPSUBNET'.
13 | *
14 | *
15 | *
16 | * @see ch.iec._61850._2006.scl.SclPackage#getTPIPSUBNET()
17 | * @model extendedMetaData="name='tP_IP-SUBNET' kind='simple'"
18 | * @generated
19 | */
20 | public interface TPIPSUBNET extends TP {
21 | } // TPIPSUBNET
22 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TPMACAddress.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TPMAC Address'.
13 | *
14 | *
15 | *
16 | * @see ch.iec._61850._2006.scl.SclPackage#getTPMACAddress()
17 | * @model extendedMetaData="name='tP_MAC-Address' kind='simple'"
18 | * @generated
19 | */
20 | public interface TPMACAddress extends TP {
21 | } // TPMACAddress
22 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TPOSIAEInvoke.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TPOSIAE Invoke'.
13 | *
14 | *
15 | *
16 | * @see ch.iec._61850._2006.scl.SclPackage#getTPOSIAEInvoke()
17 | * @model extendedMetaData="name='tP_OSI-AE-Invoke' kind='simple'"
18 | * @generated
19 | */
20 | public interface TPOSIAEInvoke extends TP {
21 | } // TPOSIAEInvoke
22 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TPOSIAEQualifier.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TPOSIAE Qualifier'.
13 | *
14 | *
15 | *
16 | * @see ch.iec._61850._2006.scl.SclPackage#getTPOSIAEQualifier()
17 | * @model extendedMetaData="name='tP_OSI-AE-Qualifier' kind='simple'"
18 | * @generated
19 | */
20 | public interface TPOSIAEQualifier extends TP {
21 | } // TPOSIAEQualifier
22 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TPOSIAPInvoke.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TPOSIAP Invoke'.
13 | *
14 | *
15 | *
16 | * @see ch.iec._61850._2006.scl.SclPackage#getTPOSIAPInvoke()
17 | * @model extendedMetaData="name='tP_OSI-AP-Invoke' kind='simple'"
18 | * @generated
19 | */
20 | public interface TPOSIAPInvoke extends TP {
21 | } // TPOSIAPInvoke
22 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TPOSIAPTitle.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TPOSIAP Title'.
13 | *
14 | *
15 | *
16 | * @see ch.iec._61850._2006.scl.SclPackage#getTPOSIAPTitle()
17 | * @model extendedMetaData="name='tP_OSI-AP-Title' kind='simple'"
18 | * @generated
19 | */
20 | public interface TPOSIAPTitle extends TP {
21 | } // TPOSIAPTitle
22 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TPOSINSAP.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TPOSINSAP'.
13 | *
14 | *
15 | *
16 | * @see ch.iec._61850._2006.scl.SclPackage#getTPOSINSAP()
17 | * @model extendedMetaData="name='tP_OSI-NSAP' kind='simple'"
18 | * @generated
19 | */
20 | public interface TPOSINSAP extends TP {
21 | } // TPOSINSAP
22 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TPOSIPSEL.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TPOSIPSEL'.
13 | *
14 | *
15 | *
16 | * @see ch.iec._61850._2006.scl.SclPackage#getTPOSIPSEL()
17 | * @model extendedMetaData="name='tP_OSI-PSEL' kind='simple'"
18 | * @generated
19 | */
20 | public interface TPOSIPSEL extends TP {
21 | } // TPOSIPSEL
22 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TPOSISSEL.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TPOSISSEL'.
13 | *
14 | *
15 | *
16 | * @see ch.iec._61850._2006.scl.SclPackage#getTPOSISSEL()
17 | * @model extendedMetaData="name='tP_OSI-SSEL' kind='simple'"
18 | * @generated
19 | */
20 | public interface TPOSISSEL extends TP {
21 | } // TPOSISSEL
22 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TPOSITSEL.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TPOSITSEL'.
13 | *
14 | *
15 | *
16 | * @see ch.iec._61850._2006.scl.SclPackage#getTPOSITSEL()
17 | * @model extendedMetaData="name='tP_OSI-TSEL' kind='simple'"
18 | * @generated
19 | */
20 | public interface TPOSITSEL extends TP {
21 | } // TPOSITSEL
22 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TPVLANID.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TPVLANID'.
13 | *
14 | *
15 | *
16 | * @see ch.iec._61850._2006.scl.SclPackage#getTPVLANID()
17 | * @model extendedMetaData="name='tP_VLAN-ID' kind='simple'"
18 | * @generated
19 | */
20 | public interface TPVLANID extends TP {
21 | } // TPVLANID
22 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TPVLANPRIORITY.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TPVLANPRIORITY'.
13 | *
14 | *
15 | *
16 | * @see ch.iec._61850._2006.scl.SclPackage#getTPVLANPRIORITY()
17 | * @model extendedMetaData="name='tP_VLAN-PRIORITY' kind='simple'"
18 | * @generated
19 | */
20 | public interface TPVLANPRIORITY extends TP {
21 | } // TPVLANPRIORITY
22 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TPhysConn.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 | import org.eclipse.emf.common.util.EList;
10 |
11 | import org.eclipse.emf.ecore.EObject;
12 |
13 | /**
14 | *
15 | * A representation of the model object 'TPhys Conn'.
16 | *
17 | *
18 | *
19 | * The following features are supported:
20 | *
21 | * - {@link ch.iec._61850._2006.scl.TPhysConn#getP P}
22 | * - {@link ch.iec._61850._2006.scl.TPhysConn#getType Type}
23 | *
24 | *
25 | *
26 | * @see ch.iec._61850._2006.scl.SclPackage#getTPhysConn()
27 | * @model extendedMetaData="name='tPhysConn' kind='elementOnly'"
28 | * @generated
29 | */
30 | public interface TPhysConn extends EObject {
31 | /**
32 | * Returns the value of the 'P' containment reference list.
33 | * The list contents are of type {@link ch.iec._61850._2006.scl.TP}.
34 | *
35 | *
36 | * If the meaning of the 'P' containment reference list isn't clear,
37 | * there really should be more of a description here...
38 | *
39 | *
40 | * @return the value of the 'P' containment reference list.
41 | * @see ch.iec._61850._2006.scl.SclPackage#getTPhysConn_P()
42 | * @model containment="true"
43 | * extendedMetaData="kind='element' name='P' namespace='##targetNamespace'"
44 | * @generated
45 | */
46 | EList getP();
47 |
48 | /**
49 | * Returns the value of the 'Type' attribute.
50 | *
51 | *
52 | * If the meaning of the 'Type' attribute isn't clear,
53 | * there really should be more of a description here...
54 | *
55 | *
56 | * @return the value of the 'Type' attribute.
57 | * @see #setType(String)
58 | * @see ch.iec._61850._2006.scl.SclPackage#getTPhysConn_Type()
59 | * @model dataType="org.eclipse.emf.ecore.xml.type.NormalizedString" required="true"
60 | * extendedMetaData="kind='attribute' name='type'"
61 | * @generated
62 | */
63 | String getType();
64 |
65 | /**
66 | * Sets the value of the '{@link ch.iec._61850._2006.scl.TPhysConn#getType Type}' attribute.
67 | *
68 | *
69 | * @param value the new value of the 'Type' attribute.
70 | * @see #getType()
71 | * @generated
72 | */
73 | void setType(String value);
74 |
75 | } // TPhysConn
76 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TPowerSystemResource.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TPower System Resource'.
13 | *
14 | *
15 | *
16 | * @see ch.iec._61850._2006.scl.SclPackage#getTPowerSystemResource()
17 | * @model abstract="true"
18 | * extendedMetaData="name='tPowerSystemResource' kind='elementOnly'"
19 | * @generated
20 | */
21 | public interface TPowerSystemResource extends TLNodeContainer {
22 | } // TPowerSystemResource
23 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TPrivate.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TPrivate'.
13 | *
14 | *
15 | *
16 | * The following features are supported:
17 | *
18 | * - {@link ch.iec._61850._2006.scl.TPrivate#getSource Source}
19 | * - {@link ch.iec._61850._2006.scl.TPrivate#getType Type}
20 | *
21 | *
22 | *
23 | * @see ch.iec._61850._2006.scl.SclPackage#getTPrivate()
24 | * @model extendedMetaData="name='tPrivate' kind='mixed'"
25 | * @generated
26 | */
27 | public interface TPrivate extends TAnyContentFromOtherNamespace {
28 | /**
29 | * Returns the value of the 'Source' attribute.
30 | *
31 | *
32 | * If the meaning of the 'Source' attribute isn't clear,
33 | * there really should be more of a description here...
34 | *
35 | *
36 | * @return the value of the 'Source' attribute.
37 | * @see #setSource(String)
38 | * @see ch.iec._61850._2006.scl.SclPackage#getTPrivate_Source()
39 | * @model dataType="org.eclipse.emf.ecore.xml.type.AnyURI"
40 | * extendedMetaData="kind='attribute' name='source'"
41 | * @generated
42 | */
43 | String getSource();
44 |
45 | /**
46 | * Sets the value of the '{@link ch.iec._61850._2006.scl.TPrivate#getSource Source}' attribute.
47 | *
48 | *
49 | * @param value the new value of the 'Source' attribute.
50 | * @see #getSource()
51 | * @generated
52 | */
53 | void setSource(String value);
54 |
55 | /**
56 | * Returns the value of the 'Type' attribute.
57 | *
58 | *
59 | * If the meaning of the 'Type' attribute isn't clear,
60 | * there really should be more of a description here...
61 | *
62 | *
63 | * @return the value of the 'Type' attribute.
64 | * @see #setType(String)
65 | * @see ch.iec._61850._2006.scl.SclPackage#getTPrivate_Type()
66 | * @model dataType="org.eclipse.emf.ecore.xml.type.NormalizedString"
67 | * extendedMetaData="kind='attribute' name='type'"
68 | * @generated
69 | */
70 | String getType();
71 |
72 | /**
73 | * Sets the value of the '{@link ch.iec._61850._2006.scl.TPrivate#getType Type}' attribute.
74 | *
75 | *
76 | * @param value the new value of the 'Type' attribute.
77 | * @see #getType()
78 | * @generated
79 | */
80 | void setType(String value);
81 |
82 | } // TPrivate
83 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TSCLControl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TSCL Control'.
13 | *
14 | *
15 | *
16 | * @see ch.iec._61850._2006.scl.SclPackage#getTSCLControl()
17 | * @model extendedMetaData="name='tSCLControl' kind='elementOnly'"
18 | * @generated
19 | */
20 | public interface TSCLControl extends TUnNaming {
21 | } // TSCLControl
22 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TSDO.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TSDO'.
13 | *
14 | *
15 | *
16 | * The following features are supported:
17 | *
18 | * - {@link ch.iec._61850._2006.scl.TSDO#getType Type}
19 | *
20 | *
21 | *
22 | * @see ch.iec._61850._2006.scl.SclPackage#getTSDO()
23 | * @model extendedMetaData="name='tSDO' kind='elementOnly'"
24 | * @generated
25 | */
26 | public interface TSDO extends TNaming {
27 | /**
28 | * Returns the value of the 'Type' attribute.
29 | *
30 | *
31 | * If the meaning of the 'Type' attribute isn't clear,
32 | * there really should be more of a description here...
33 | *
34 | *
35 | * @return the value of the 'Type' attribute.
36 | * @see #setType(String)
37 | * @see ch.iec._61850._2006.scl.SclPackage#getTSDO_Type()
38 | * @model dataType="ch.iec._61850._2006.scl.TName" required="true"
39 | * extendedMetaData="kind='attribute' name='type'"
40 | * @generated
41 | */
42 | String getType();
43 |
44 | /**
45 | * Sets the value of the '{@link ch.iec._61850._2006.scl.TSDO#getType Type}' attribute.
46 | *
47 | *
48 | * @param value the new value of the 'Type' attribute.
49 | * @see #getType()
50 | * @generated
51 | */
52 | void setType(String value);
53 |
54 | } // TSDO
55 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TSMV.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TSMV'.
13 | *
14 | *
15 | *
16 | * @see ch.iec._61850._2006.scl.SclPackage#getTSMV()
17 | * @model extendedMetaData="name='tSMV' kind='elementOnly'"
18 | * @generated
19 | */
20 | public interface TSMV extends TControlBlock {
21 | } // TSMV
22 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TServiceWithMax.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 | import org.eclipse.emf.ecore.EObject;
10 |
11 | /**
12 | *
13 | * A representation of the model object 'TService With Max'.
14 | *
15 | *
16 | *
17 | * The following features are supported:
18 | *
19 | * - {@link ch.iec._61850._2006.scl.TServiceWithMax#getMax Max}
20 | *
21 | *
22 | *
23 | * @see ch.iec._61850._2006.scl.SclPackage#getTServiceWithMax()
24 | * @model extendedMetaData="name='tServiceWithMax' kind='empty'"
25 | * @generated
26 | */
27 | public interface TServiceWithMax extends EObject {
28 | /**
29 | * Returns the value of the 'Max' attribute.
30 | *
31 | *
32 | * If the meaning of the 'Max' attribute isn't clear,
33 | * there really should be more of a description here...
34 | *
35 | *
36 | * @return the value of the 'Max' attribute.
37 | * @see #isSetMax()
38 | * @see #unsetMax()
39 | * @see #setMax(long)
40 | * @see ch.iec._61850._2006.scl.SclPackage#getTServiceWithMax_Max()
41 | * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.UnsignedInt" required="true"
42 | * extendedMetaData="kind='attribute' name='max'"
43 | * @generated
44 | */
45 | long getMax();
46 |
47 | /**
48 | * Sets the value of the '{@link ch.iec._61850._2006.scl.TServiceWithMax#getMax Max}' attribute.
49 | *
50 | *
51 | * @param value the new value of the 'Max' attribute.
52 | * @see #isSetMax()
53 | * @see #unsetMax()
54 | * @see #getMax()
55 | * @generated
56 | */
57 | void setMax(long value);
58 |
59 | /**
60 | * Unsets the value of the '{@link ch.iec._61850._2006.scl.TServiceWithMax#getMax Max}' attribute.
61 | *
62 | *
63 | * @see #isSetMax()
64 | * @see #getMax()
65 | * @see #setMax(long)
66 | * @generated
67 | */
68 | void unsetMax();
69 |
70 | /**
71 | * Returns whether the value of the '{@link ch.iec._61850._2006.scl.TServiceWithMax#getMax Max}' attribute is set.
72 | *
73 | *
74 | * @return whether the value of the 'Max' attribute is set.
75 | * @see #unsetMax()
76 | * @see #getMax()
77 | * @see #setMax(long)
78 | * @generated
79 | */
80 | boolean isSetMax();
81 |
82 | } // TServiceWithMax
83 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TServiceWithMaxAndModify.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TService With Max And Modify'.
13 | *
14 | *
15 | *
16 | * The following features are supported:
17 | *
18 | * - {@link ch.iec._61850._2006.scl.TServiceWithMaxAndModify#isModify Modify}
19 | *
20 | *
21 | *
22 | * @see ch.iec._61850._2006.scl.SclPackage#getTServiceWithMaxAndModify()
23 | * @model extendedMetaData="name='tServiceWithMaxAndModify' kind='empty'"
24 | * @generated
25 | */
26 | public interface TServiceWithMaxAndModify extends TServiceWithMax {
27 | /**
28 | * Returns the value of the 'Modify' attribute.
29 | * The default value is "true"
.
30 | *
31 | *
32 | * If the meaning of the 'Modify' attribute isn't clear,
33 | * there really should be more of a description here...
34 | *
35 | *
36 | * @return the value of the 'Modify' attribute.
37 | * @see #isSetModify()
38 | * @see #unsetModify()
39 | * @see #setModify(boolean)
40 | * @see ch.iec._61850._2006.scl.SclPackage#getTServiceWithMaxAndModify_Modify()
41 | * @model default="true" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
42 | * extendedMetaData="kind='attribute' name='modify'"
43 | * @generated
44 | */
45 | boolean isModify();
46 |
47 | /**
48 | * Sets the value of the '{@link ch.iec._61850._2006.scl.TServiceWithMaxAndModify#isModify Modify}' attribute.
49 | *
50 | *
51 | * @param value the new value of the 'Modify' attribute.
52 | * @see #isSetModify()
53 | * @see #unsetModify()
54 | * @see #isModify()
55 | * @generated
56 | */
57 | void setModify(boolean value);
58 |
59 | /**
60 | * Unsets the value of the '{@link ch.iec._61850._2006.scl.TServiceWithMaxAndModify#isModify Modify}' attribute.
61 | *
62 | *
63 | * @see #isSetModify()
64 | * @see #isModify()
65 | * @see #setModify(boolean)
66 | * @generated
67 | */
68 | void unsetModify();
69 |
70 | /**
71 | * Returns whether the value of the '{@link ch.iec._61850._2006.scl.TServiceWithMaxAndModify#isModify Modify}' attribute is set.
72 | *
73 | *
74 | * @return whether the value of the 'Modify' attribute is set.
75 | * @see #unsetModify()
76 | * @see #isModify()
77 | * @see #setModify(boolean)
78 | * @generated
79 | */
80 | boolean isSetModify();
81 |
82 | } // TServiceWithMaxAndModify
83 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TServiceYesNo.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 | import org.eclipse.emf.ecore.EObject;
10 |
11 | /**
12 | *
13 | * A representation of the model object 'TService Yes No'.
14 | *
15 | *
16 | *
17 | * @see ch.iec._61850._2006.scl.SclPackage#getTServiceYesNo()
18 | * @model extendedMetaData="name='tServiceYesNo' kind='empty'"
19 | * @generated
20 | */
21 | public interface TServiceYesNo extends EObject {
22 | } // TServiceYesNo
23 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TSubFunction.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 | import org.eclipse.emf.common.util.EList;
10 |
11 | /**
12 | *
13 | * A representation of the model object 'TSub Function'.
14 | *
15 | *
16 | *
17 | * The following features are supported:
18 | *
19 | * - {@link ch.iec._61850._2006.scl.TSubFunction#getGeneralEquipment General Equipment}
20 | *
21 | *
22 | *
23 | * @see ch.iec._61850._2006.scl.SclPackage#getTSubFunction()
24 | * @model extendedMetaData="name='tSubFunction' kind='elementOnly'"
25 | * @generated
26 | */
27 | public interface TSubFunction extends TPowerSystemResource {
28 | /**
29 | * Returns the value of the 'General Equipment' containment reference list.
30 | * The list contents are of type {@link ch.iec._61850._2006.scl.TGeneralEquipment}.
31 | *
32 | *
33 | * If the meaning of the 'General Equipment' containment reference list isn't clear,
34 | * there really should be more of a description here...
35 | *
36 | *
37 | * @return the value of the 'General Equipment' containment reference list.
38 | * @see ch.iec._61850._2006.scl.SclPackage#getTSubFunction_GeneralEquipment()
39 | * @model containment="true"
40 | * extendedMetaData="kind='element' name='GeneralEquipment' namespace='##targetNamespace'"
41 | * @generated
42 | */
43 | EList getGeneralEquipment();
44 |
45 | } // TSubFunction
46 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TSubstation.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 | import org.eclipse.emf.common.util.EList;
10 |
11 | /**
12 | *
13 | * A representation of the model object 'TSubstation'.
14 | *
15 | *
16 | *
17 | * The following features are supported:
18 | *
19 | * - {@link ch.iec._61850._2006.scl.TSubstation#getVoltageLevel Voltage Level}
20 | * - {@link ch.iec._61850._2006.scl.TSubstation#getFunction Function}
21 | *
22 | *
23 | *
24 | * @see ch.iec._61850._2006.scl.SclPackage#getTSubstation()
25 | * @model extendedMetaData="name='tSubstation' kind='elementOnly'"
26 | * @generated
27 | */
28 | public interface TSubstation extends TEquipmentContainer {
29 | /**
30 | * Returns the value of the 'Voltage Level' containment reference list.
31 | * The list contents are of type {@link ch.iec._61850._2006.scl.TVoltageLevel}.
32 | *
33 | *
34 | * If the meaning of the 'Voltage Level' containment reference list isn't clear,
35 | * there really should be more of a description here...
36 | *
37 | *
38 | * @return the value of the 'Voltage Level' containment reference list.
39 | * @see ch.iec._61850._2006.scl.SclPackage#getTSubstation_VoltageLevel()
40 | * @model containment="true" required="true"
41 | * extendedMetaData="kind='element' name='VoltageLevel' namespace='##targetNamespace'"
42 | * @generated
43 | */
44 | EList getVoltageLevel();
45 |
46 | /**
47 | * Returns the value of the 'Function' containment reference list.
48 | * The list contents are of type {@link ch.iec._61850._2006.scl.TFunction}.
49 | *
50 | *
51 | * If the meaning of the 'Function' containment reference list isn't clear,
52 | * there really should be more of a description here...
53 | *
54 | *
55 | * @return the value of the 'Function' containment reference list.
56 | * @see ch.iec._61850._2006.scl.SclPackage#getTSubstation_Function()
57 | * @model containment="true"
58 | * extendedMetaData="kind='element' name='Function' namespace='##targetNamespace'"
59 | * @generated
60 | */
61 | EList getFunction();
62 |
63 | } // TSubstation
64 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TText.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TText'.
13 | *
14 | *
15 | *
16 | * The following features are supported:
17 | *
18 | * - {@link ch.iec._61850._2006.scl.TText#getSource Source}
19 | *
20 | *
21 | *
22 | * @see ch.iec._61850._2006.scl.SclPackage#getTText()
23 | * @model extendedMetaData="name='tText' kind='mixed'"
24 | * @generated
25 | */
26 | public interface TText extends TAnyContentFromOtherNamespace {
27 | /**
28 | * Returns the value of the 'Source' attribute.
29 | *
30 | *
31 | * If the meaning of the 'Source' attribute isn't clear,
32 | * there really should be more of a description here...
33 | *
34 | *
35 | * @return the value of the 'Source' attribute.
36 | * @see #setSource(String)
37 | * @see ch.iec._61850._2006.scl.SclPackage#getTText_Source()
38 | * @model dataType="org.eclipse.emf.ecore.xml.type.AnyURI"
39 | * extendedMetaData="kind='attribute' name='source'"
40 | * @generated
41 | */
42 | String getSource();
43 |
44 | /**
45 | * Sets the value of the '{@link ch.iec._61850._2006.scl.TText#getSource Source}' attribute.
46 | *
47 | *
48 | * @param value the new value of the 'Source' attribute.
49 | * @see #getSource()
50 | * @generated
51 | */
52 | void setSource(String value);
53 |
54 | } // TText
55 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TUnNaming.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TUn Naming'.
13 | *
14 | *
15 | *
16 | * The following features are supported:
17 | *
18 | * - {@link ch.iec._61850._2006.scl.TUnNaming#getDesc Desc}
19 | *
20 | *
21 | *
22 | * @see ch.iec._61850._2006.scl.SclPackage#getTUnNaming()
23 | * @model abstract="true"
24 | * extendedMetaData="name='tUnNaming' kind='elementOnly'"
25 | * @generated
26 | */
27 | public interface TUnNaming extends TBaseElement {
28 | /**
29 | * Returns the value of the 'Desc' attribute.
30 | *
31 | *
32 | * If the meaning of the 'Desc' attribute isn't clear,
33 | * there really should be more of a description here...
34 | *
35 | *
36 | * @return the value of the 'Desc' attribute.
37 | * @see #setDesc(String)
38 | * @see ch.iec._61850._2006.scl.SclPackage#getTUnNaming_Desc()
39 | * @model dataType="org.eclipse.emf.ecore.xml.type.NormalizedString"
40 | * extendedMetaData="kind='attribute' name='desc'"
41 | * @generated
42 | */
43 | String getDesc();
44 |
45 | /**
46 | * Sets the value of the '{@link ch.iec._61850._2006.scl.TUnNaming#getDesc Desc}' attribute.
47 | *
48 | *
49 | * @param value the new value of the 'Desc' attribute.
50 | * @see #getDesc()
51 | * @generated
52 | */
53 | void setDesc(String value);
54 |
55 | } // TUnNaming
56 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TVoltage.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 |
10 | /**
11 | *
12 | * A representation of the model object 'TVoltage'.
13 | *
14 | *
15 | *
16 | * @see ch.iec._61850._2006.scl.SclPackage#getTVoltage()
17 | * @model extendedMetaData="name='tVoltage' kind='simple'"
18 | * @generated
19 | */
20 | public interface TVoltage extends TValueWithUnit {
21 | } // TVoltage
22 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/TVoltageLevel.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl;
8 |
9 | import org.eclipse.emf.common.util.EList;
10 |
11 | /**
12 | *
13 | * A representation of the model object 'TVoltage Level'.
14 | *
15 | *
16 | *
17 | * The following features are supported:
18 | *
19 | * - {@link ch.iec._61850._2006.scl.TVoltageLevel#getVoltage Voltage}
20 | * - {@link ch.iec._61850._2006.scl.TVoltageLevel#getBay Bay}
21 | *
22 | *
23 | *
24 | * @see ch.iec._61850._2006.scl.SclPackage#getTVoltageLevel()
25 | * @model extendedMetaData="name='tVoltageLevel' kind='elementOnly'"
26 | * @generated
27 | */
28 | public interface TVoltageLevel extends TEquipmentContainer {
29 | /**
30 | * Returns the value of the 'Voltage' containment reference.
31 | *
32 | *
33 | * If the meaning of the 'Voltage' containment reference isn't clear,
34 | * there really should be more of a description here...
35 | *
36 | *
37 | * @return the value of the 'Voltage' containment reference.
38 | * @see #setVoltage(TVoltage)
39 | * @see ch.iec._61850._2006.scl.SclPackage#getTVoltageLevel_Voltage()
40 | * @model containment="true"
41 | * extendedMetaData="kind='element' name='Voltage' namespace='##targetNamespace'"
42 | * @generated
43 | */
44 | TVoltage getVoltage();
45 |
46 | /**
47 | * Sets the value of the '{@link ch.iec._61850._2006.scl.TVoltageLevel#getVoltage Voltage}' containment reference.
48 | *
49 | *
50 | * @param value the new value of the 'Voltage' containment reference.
51 | * @see #getVoltage()
52 | * @generated
53 | */
54 | void setVoltage(TVoltage value);
55 |
56 | /**
57 | * Returns the value of the 'Bay' containment reference list.
58 | * The list contents are of type {@link ch.iec._61850._2006.scl.TBay}.
59 | *
60 | *
61 | * If the meaning of the 'Bay' containment reference list isn't clear,
62 | * there really should be more of a description here...
63 | *
64 | *
65 | * @return the value of the 'Bay' containment reference list.
66 | * @see ch.iec._61850._2006.scl.SclPackage#getTVoltageLevel_Bay()
67 | * @model containment="true" required="true"
68 | * extendedMetaData="kind='element' name='Bay' namespace='##targetNamespace'"
69 | * @generated
70 | */
71 | EList getBay();
72 |
73 | } // TVoltageLevel
74 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/impl/LN0TypeImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl.impl;
8 |
9 | import ch.iec._61850._2006.scl.LN0Type;
10 | import ch.iec._61850._2006.scl.SclPackage;
11 |
12 | import org.eclipse.emf.ecore.EClass;
13 |
14 | /**
15 | *
16 | * An implementation of the model object 'LN0 Type'.
17 | *
18 | *
19 | *
20 | *
21 | * @generated
22 | */
23 | public class LN0TypeImpl extends TLN0Impl implements LN0Type {
24 | /**
25 | *
26 | *
27 | * @generated
28 | */
29 | protected LN0TypeImpl() {
30 | super();
31 | }
32 |
33 | /**
34 | *
35 | *
36 | * @generated
37 | */
38 | @Override
39 | protected EClass eStaticClass() {
40 | return SclPackage.eINSTANCE.getLN0Type();
41 | }
42 |
43 | } //LN0TypeImpl
44 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/impl/TAccessControlImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl.impl;
8 |
9 | import ch.iec._61850._2006.scl.SclPackage;
10 | import ch.iec._61850._2006.scl.TAccessControl;
11 |
12 | import org.eclipse.emf.ecore.EClass;
13 |
14 | /**
15 | *
16 | * An implementation of the model object 'TAccess Control'.
17 | *
18 | *
19 | *
20 | *
21 | * @generated
22 | */
23 | public class TAccessControlImpl extends TAnyContentFromOtherNamespaceImpl implements TAccessControl {
24 | /**
25 | *
26 | *
27 | * @generated
28 | */
29 | protected TAccessControlImpl() {
30 | super();
31 | }
32 |
33 | /**
34 | *
35 | *
36 | * @generated
37 | */
38 | @Override
39 | protected EClass eStaticClass() {
40 | return SclPackage.eINSTANCE.getTAccessControl();
41 | }
42 |
43 | } //TAccessControlImpl
44 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/impl/TBDAImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl.impl;
8 |
9 | import ch.iec._61850._2006.scl.SclPackage;
10 | import ch.iec._61850._2006.scl.TBDA;
11 |
12 | import org.eclipse.emf.ecore.EClass;
13 |
14 | /**
15 | *
16 | * An implementation of the model object 'TBDA'.
17 | *
18 | *
19 | *
20 | *
21 | * @generated
22 | */
23 | public class TBDAImpl extends TAbstractDataAttributeImpl implements TBDA {
24 | /**
25 | *
26 | *
27 | * @generated
28 | */
29 | protected TBDAImpl() {
30 | super();
31 | }
32 |
33 | /**
34 | *
35 | *
36 | * @generated
37 | */
38 | @Override
39 | protected EClass eStaticClass() {
40 | return SclPackage.eINSTANCE.getTBDA();
41 | }
42 |
43 | } //TBDAImpl
44 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/impl/TBitRateInMbPerSecImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl.impl;
8 |
9 | import ch.iec._61850._2006.scl.SclPackage;
10 | import ch.iec._61850._2006.scl.TBitRateInMbPerSec;
11 |
12 | import org.eclipse.emf.ecore.EClass;
13 |
14 | /**
15 | *
16 | * An implementation of the model object 'TBit Rate In Mb Per Sec'.
17 | *
18 | *
19 | *
20 | *
21 | * @generated
22 | */
23 | public class TBitRateInMbPerSecImpl extends TValueWithUnitImpl implements TBitRateInMbPerSec {
24 | /**
25 | *
26 | *
27 | * @generated
28 | */
29 | protected TBitRateInMbPerSecImpl() {
30 | super();
31 | }
32 |
33 | /**
34 | *
35 | *
36 | * @generated
37 | */
38 | @Override
39 | protected EClass eStaticClass() {
40 | return SclPackage.eINSTANCE.getTBitRateInMbPerSec();
41 | }
42 |
43 | } //TBitRateInMbPerSecImpl
44 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/impl/TDurationInMilliSecImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl.impl;
8 |
9 | import ch.iec._61850._2006.scl.SclPackage;
10 | import ch.iec._61850._2006.scl.TDurationInMilliSec;
11 |
12 | import org.eclipse.emf.ecore.EClass;
13 |
14 | /**
15 | *
16 | * An implementation of the model object 'TDuration In Milli Sec'.
17 | *
18 | *
19 | *
20 | *
21 | * @generated
22 | */
23 | public class TDurationInMilliSecImpl extends TValueWithUnitImpl implements TDurationInMilliSec {
24 | /**
25 | *
26 | *
27 | * @generated
28 | */
29 | protected TDurationInMilliSecImpl() {
30 | super();
31 | }
32 |
33 | /**
34 | *
35 | *
36 | * @generated
37 | */
38 | @Override
39 | protected EClass eStaticClass() {
40 | return SclPackage.eINSTANCE.getTDurationInMilliSec();
41 | }
42 |
43 | } //TDurationInMilliSecImpl
44 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/impl/TDurationInSecImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl.impl;
8 |
9 | import ch.iec._61850._2006.scl.SclPackage;
10 | import ch.iec._61850._2006.scl.TDurationInSec;
11 |
12 | import org.eclipse.emf.ecore.EClass;
13 |
14 | /**
15 | *
16 | * An implementation of the model object 'TDuration In Sec'.
17 | *
18 | *
19 | *
20 | *
21 | * @generated
22 | */
23 | public class TDurationInSecImpl extends TValueWithUnitImpl implements TDurationInSec {
24 | /**
25 | *
26 | *
27 | * @generated
28 | */
29 | protected TDurationInSecImpl() {
30 | super();
31 | }
32 |
33 | /**
34 | *
35 | *
36 | * @generated
37 | */
38 | @Override
39 | protected EClass eStaticClass() {
40 | return SclPackage.eINSTANCE.getTDurationInSec();
41 | }
42 |
43 | } //TDurationInSecImpl
44 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/impl/TLogImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl.impl;
8 |
9 | import ch.iec._61850._2006.scl.SclPackage;
10 | import ch.iec._61850._2006.scl.TLog;
11 |
12 | import org.eclipse.emf.ecore.EClass;
13 |
14 | /**
15 | *
16 | * An implementation of the model object 'TLog'.
17 | *
18 | *
19 | *
20 | *
21 | * @generated
22 | */
23 | public class TLogImpl extends TAnyContentFromOtherNamespaceImpl implements TLog {
24 | /**
25 | *
26 | *
27 | * @generated
28 | */
29 | protected TLogImpl() {
30 | super();
31 | }
32 |
33 | /**
34 | *
35 | *
36 | * @generated
37 | */
38 | @Override
39 | protected EClass eStaticClass() {
40 | return SclPackage.eINSTANCE.getTLog();
41 | }
42 |
43 | } //TLogImpl
44 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/impl/TPAPPIDImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl.impl;
8 |
9 | import ch.iec._61850._2006.scl.SclPackage;
10 | import ch.iec._61850._2006.scl.TPAPPID;
11 |
12 | import org.eclipse.emf.ecore.EClass;
13 |
14 | /**
15 | *
16 | * An implementation of the model object 'TPAPPID'.
17 | *
18 | *
19 | *
20 | *
21 | * @generated
22 | */
23 | public class TPAPPIDImpl extends TPImpl implements TPAPPID {
24 | /**
25 | *
26 | *
27 | * @generated
28 | */
29 | protected TPAPPIDImpl() {
30 | super();
31 | }
32 |
33 | /**
34 | *
35 | *
36 | * @generated
37 | */
38 | @Override
39 | protected EClass eStaticClass() {
40 | return SclPackage.eINSTANCE.getTPAPPID();
41 | }
42 |
43 | } //TPAPPIDImpl
44 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/impl/TPIPGATEWAYImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl.impl;
8 |
9 | import ch.iec._61850._2006.scl.SclPackage;
10 | import ch.iec._61850._2006.scl.TPIPGATEWAY;
11 |
12 | import org.eclipse.emf.ecore.EClass;
13 |
14 | /**
15 | *
16 | * An implementation of the model object 'TPIPGATEWAY'.
17 | *
18 | *
19 | *
20 | *
21 | * @generated
22 | */
23 | public class TPIPGATEWAYImpl extends TPImpl implements TPIPGATEWAY {
24 | /**
25 | *
26 | *
27 | * @generated
28 | */
29 | protected TPIPGATEWAYImpl() {
30 | super();
31 | }
32 |
33 | /**
34 | *
35 | *
36 | * @generated
37 | */
38 | @Override
39 | protected EClass eStaticClass() {
40 | return SclPackage.eINSTANCE.getTPIPGATEWAY();
41 | }
42 |
43 | } //TPIPGATEWAYImpl
44 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/impl/TPIPImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl.impl;
8 |
9 | import ch.iec._61850._2006.scl.SclPackage;
10 | import ch.iec._61850._2006.scl.TPIP;
11 |
12 | import org.eclipse.emf.ecore.EClass;
13 |
14 | /**
15 | *
16 | * An implementation of the model object 'TPIP'.
17 | *
18 | *
19 | *
20 | *
21 | * @generated
22 | */
23 | public class TPIPImpl extends TPImpl implements TPIP {
24 | /**
25 | *
26 | *
27 | * @generated
28 | */
29 | protected TPIPImpl() {
30 | super();
31 | }
32 |
33 | /**
34 | *
35 | *
36 | * @generated
37 | */
38 | @Override
39 | protected EClass eStaticClass() {
40 | return SclPackage.eINSTANCE.getTPIP();
41 | }
42 |
43 | } //TPIPImpl
44 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/impl/TPIPSUBNETImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl.impl;
8 |
9 | import ch.iec._61850._2006.scl.SclPackage;
10 | import ch.iec._61850._2006.scl.TPIPSUBNET;
11 |
12 | import org.eclipse.emf.ecore.EClass;
13 |
14 | /**
15 | *
16 | * An implementation of the model object 'TPIPSUBNET'.
17 | *
18 | *
19 | *
20 | *
21 | * @generated
22 | */
23 | public class TPIPSUBNETImpl extends TPImpl implements TPIPSUBNET {
24 | /**
25 | *
26 | *
27 | * @generated
28 | */
29 | protected TPIPSUBNETImpl() {
30 | super();
31 | }
32 |
33 | /**
34 | *
35 | *
36 | * @generated
37 | */
38 | @Override
39 | protected EClass eStaticClass() {
40 | return SclPackage.eINSTANCE.getTPIPSUBNET();
41 | }
42 |
43 | } //TPIPSUBNETImpl
44 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/impl/TPMACAddressImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl.impl;
8 |
9 | import ch.iec._61850._2006.scl.SclPackage;
10 | import ch.iec._61850._2006.scl.TPMACAddress;
11 |
12 | import org.eclipse.emf.ecore.EClass;
13 |
14 | /**
15 | *
16 | * An implementation of the model object 'TPMAC Address'.
17 | *
18 | *
19 | *
20 | *
21 | * @generated
22 | */
23 | public class TPMACAddressImpl extends TPImpl implements TPMACAddress {
24 | /**
25 | *
26 | *
27 | * @generated
28 | */
29 | protected TPMACAddressImpl() {
30 | super();
31 | }
32 |
33 | /**
34 | *
35 | *
36 | * @generated
37 | */
38 | @Override
39 | protected EClass eStaticClass() {
40 | return SclPackage.eINSTANCE.getTPMACAddress();
41 | }
42 |
43 | } //TPMACAddressImpl
44 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/impl/TPOSIAEInvokeImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl.impl;
8 |
9 | import ch.iec._61850._2006.scl.SclPackage;
10 | import ch.iec._61850._2006.scl.TPOSIAEInvoke;
11 |
12 | import org.eclipse.emf.ecore.EClass;
13 |
14 | /**
15 | *
16 | * An implementation of the model object 'TPOSIAE Invoke'.
17 | *
18 | *
19 | *
20 | *
21 | * @generated
22 | */
23 | public class TPOSIAEInvokeImpl extends TPImpl implements TPOSIAEInvoke {
24 | /**
25 | *
26 | *
27 | * @generated
28 | */
29 | protected TPOSIAEInvokeImpl() {
30 | super();
31 | }
32 |
33 | /**
34 | *
35 | *
36 | * @generated
37 | */
38 | @Override
39 | protected EClass eStaticClass() {
40 | return SclPackage.eINSTANCE.getTPOSIAEInvoke();
41 | }
42 |
43 | } //TPOSIAEInvokeImpl
44 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/impl/TPOSIAEQualifierImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl.impl;
8 |
9 | import ch.iec._61850._2006.scl.SclPackage;
10 | import ch.iec._61850._2006.scl.TPOSIAEQualifier;
11 |
12 | import org.eclipse.emf.ecore.EClass;
13 |
14 | /**
15 | *
16 | * An implementation of the model object 'TPOSIAE Qualifier'.
17 | *
18 | *
19 | *
20 | *
21 | * @generated
22 | */
23 | public class TPOSIAEQualifierImpl extends TPImpl implements TPOSIAEQualifier {
24 | /**
25 | *
26 | *
27 | * @generated
28 | */
29 | protected TPOSIAEQualifierImpl() {
30 | super();
31 | }
32 |
33 | /**
34 | *
35 | *
36 | * @generated
37 | */
38 | @Override
39 | protected EClass eStaticClass() {
40 | return SclPackage.eINSTANCE.getTPOSIAEQualifier();
41 | }
42 |
43 | } //TPOSIAEQualifierImpl
44 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/impl/TPOSIAPInvokeImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl.impl;
8 |
9 | import ch.iec._61850._2006.scl.SclPackage;
10 | import ch.iec._61850._2006.scl.TPOSIAPInvoke;
11 |
12 | import org.eclipse.emf.ecore.EClass;
13 |
14 | /**
15 | *
16 | * An implementation of the model object 'TPOSIAP Invoke'.
17 | *
18 | *
19 | *
20 | *
21 | * @generated
22 | */
23 | public class TPOSIAPInvokeImpl extends TPImpl implements TPOSIAPInvoke {
24 | /**
25 | *
26 | *
27 | * @generated
28 | */
29 | protected TPOSIAPInvokeImpl() {
30 | super();
31 | }
32 |
33 | /**
34 | *
35 | *
36 | * @generated
37 | */
38 | @Override
39 | protected EClass eStaticClass() {
40 | return SclPackage.eINSTANCE.getTPOSIAPInvoke();
41 | }
42 |
43 | } //TPOSIAPInvokeImpl
44 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/impl/TPOSIAPTitleImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl.impl;
8 |
9 | import ch.iec._61850._2006.scl.SclPackage;
10 | import ch.iec._61850._2006.scl.TPOSIAPTitle;
11 |
12 | import org.eclipse.emf.ecore.EClass;
13 |
14 | /**
15 | *
16 | * An implementation of the model object 'TPOSIAP Title'.
17 | *
18 | *
19 | *
20 | *
21 | * @generated
22 | */
23 | public class TPOSIAPTitleImpl extends TPImpl implements TPOSIAPTitle {
24 | /**
25 | *
26 | *
27 | * @generated
28 | */
29 | protected TPOSIAPTitleImpl() {
30 | super();
31 | }
32 |
33 | /**
34 | *
35 | *
36 | * @generated
37 | */
38 | @Override
39 | protected EClass eStaticClass() {
40 | return SclPackage.eINSTANCE.getTPOSIAPTitle();
41 | }
42 |
43 | } //TPOSIAPTitleImpl
44 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/impl/TPOSINSAPImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl.impl;
8 |
9 | import ch.iec._61850._2006.scl.SclPackage;
10 | import ch.iec._61850._2006.scl.TPOSINSAP;
11 |
12 | import org.eclipse.emf.ecore.EClass;
13 |
14 | /**
15 | *
16 | * An implementation of the model object 'TPOSINSAP'.
17 | *
18 | *
19 | *
20 | *
21 | * @generated
22 | */
23 | public class TPOSINSAPImpl extends TPImpl implements TPOSINSAP {
24 | /**
25 | *
26 | *
27 | * @generated
28 | */
29 | protected TPOSINSAPImpl() {
30 | super();
31 | }
32 |
33 | /**
34 | *
35 | *
36 | * @generated
37 | */
38 | @Override
39 | protected EClass eStaticClass() {
40 | return SclPackage.eINSTANCE.getTPOSINSAP();
41 | }
42 |
43 | } //TPOSINSAPImpl
44 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/impl/TPOSIPSELImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl.impl;
8 |
9 | import ch.iec._61850._2006.scl.SclPackage;
10 | import ch.iec._61850._2006.scl.TPOSIPSEL;
11 |
12 | import org.eclipse.emf.ecore.EClass;
13 |
14 | /**
15 | *
16 | * An implementation of the model object 'TPOSIPSEL'.
17 | *
18 | *
19 | *
20 | *
21 | * @generated
22 | */
23 | public class TPOSIPSELImpl extends TPImpl implements TPOSIPSEL {
24 | /**
25 | *
26 | *
27 | * @generated
28 | */
29 | protected TPOSIPSELImpl() {
30 | super();
31 | }
32 |
33 | /**
34 | *
35 | *
36 | * @generated
37 | */
38 | @Override
39 | protected EClass eStaticClass() {
40 | return SclPackage.eINSTANCE.getTPOSIPSEL();
41 | }
42 |
43 | } //TPOSIPSELImpl
44 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/impl/TPOSISSELImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl.impl;
8 |
9 | import ch.iec._61850._2006.scl.SclPackage;
10 | import ch.iec._61850._2006.scl.TPOSISSEL;
11 |
12 | import org.eclipse.emf.ecore.EClass;
13 |
14 | /**
15 | *
16 | * An implementation of the model object 'TPOSISSEL'.
17 | *
18 | *
19 | *
20 | *
21 | * @generated
22 | */
23 | public class TPOSISSELImpl extends TPImpl implements TPOSISSEL {
24 | /**
25 | *
26 | *
27 | * @generated
28 | */
29 | protected TPOSISSELImpl() {
30 | super();
31 | }
32 |
33 | /**
34 | *
35 | *
36 | * @generated
37 | */
38 | @Override
39 | protected EClass eStaticClass() {
40 | return SclPackage.eINSTANCE.getTPOSISSEL();
41 | }
42 |
43 | } //TPOSISSELImpl
44 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/impl/TPOSITSELImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl.impl;
8 |
9 | import ch.iec._61850._2006.scl.SclPackage;
10 | import ch.iec._61850._2006.scl.TPOSITSEL;
11 |
12 | import org.eclipse.emf.ecore.EClass;
13 |
14 | /**
15 | *
16 | * An implementation of the model object 'TPOSITSEL'.
17 | *
18 | *
19 | *
20 | *
21 | * @generated
22 | */
23 | public class TPOSITSELImpl extends TPImpl implements TPOSITSEL {
24 | /**
25 | *
26 | *
27 | * @generated
28 | */
29 | protected TPOSITSELImpl() {
30 | super();
31 | }
32 |
33 | /**
34 | *
35 | *
36 | * @generated
37 | */
38 | @Override
39 | protected EClass eStaticClass() {
40 | return SclPackage.eINSTANCE.getTPOSITSEL();
41 | }
42 |
43 | } //TPOSITSELImpl
44 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/impl/TPVLANIDImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl.impl;
8 |
9 | import ch.iec._61850._2006.scl.SclPackage;
10 | import ch.iec._61850._2006.scl.TPVLANID;
11 |
12 | import org.eclipse.emf.ecore.EClass;
13 |
14 | /**
15 | *
16 | * An implementation of the model object 'TPVLANID'.
17 | *
18 | *
19 | *
20 | *
21 | * @generated
22 | */
23 | public class TPVLANIDImpl extends TPImpl implements TPVLANID {
24 | /**
25 | *
26 | *
27 | * @generated
28 | */
29 | protected TPVLANIDImpl() {
30 | super();
31 | }
32 |
33 | /**
34 | *
35 | *
36 | * @generated
37 | */
38 | @Override
39 | protected EClass eStaticClass() {
40 | return SclPackage.eINSTANCE.getTPVLANID();
41 | }
42 |
43 | } //TPVLANIDImpl
44 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/impl/TPVLANPRIORITYImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl.impl;
8 |
9 | import ch.iec._61850._2006.scl.SclPackage;
10 | import ch.iec._61850._2006.scl.TPVLANPRIORITY;
11 |
12 | import org.eclipse.emf.ecore.EClass;
13 |
14 | /**
15 | *
16 | * An implementation of the model object 'TPVLANPRIORITY'.
17 | *
18 | *
19 | *
20 | *
21 | * @generated
22 | */
23 | public class TPVLANPRIORITYImpl extends TPImpl implements TPVLANPRIORITY {
24 | /**
25 | *
26 | *
27 | * @generated
28 | */
29 | protected TPVLANPRIORITYImpl() {
30 | super();
31 | }
32 |
33 | /**
34 | *
35 | *
36 | * @generated
37 | */
38 | @Override
39 | protected EClass eStaticClass() {
40 | return SclPackage.eINSTANCE.getTPVLANPRIORITY();
41 | }
42 |
43 | } //TPVLANPRIORITYImpl
44 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/impl/TPowerSystemResourceImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl.impl;
8 |
9 | import ch.iec._61850._2006.scl.SclPackage;
10 | import ch.iec._61850._2006.scl.TPowerSystemResource;
11 |
12 | import org.eclipse.emf.ecore.EClass;
13 |
14 | /**
15 | *
16 | * An implementation of the model object 'TPower System Resource'.
17 | *
18 | *
19 | *
20 | *
21 | * @generated
22 | */
23 | public abstract class TPowerSystemResourceImpl extends TLNodeContainerImpl implements TPowerSystemResource {
24 | /**
25 | *
26 | *
27 | * @generated
28 | */
29 | protected TPowerSystemResourceImpl() {
30 | super();
31 | }
32 |
33 | /**
34 | *
35 | *
36 | * @generated
37 | */
38 | @Override
39 | protected EClass eStaticClass() {
40 | return SclPackage.eINSTANCE.getTPowerSystemResource();
41 | }
42 |
43 | } //TPowerSystemResourceImpl
44 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/impl/TSCLControlImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl.impl;
8 |
9 | import ch.iec._61850._2006.scl.SclPackage;
10 | import ch.iec._61850._2006.scl.TSCLControl;
11 |
12 | import org.eclipse.emf.ecore.EClass;
13 |
14 | /**
15 | *
16 | * An implementation of the model object 'TSCL Control'.
17 | *
18 | *
19 | *
20 | *
21 | * @generated
22 | */
23 | public class TSCLControlImpl extends TUnNamingImpl implements TSCLControl {
24 | /**
25 | *
26 | *
27 | * @generated
28 | */
29 | protected TSCLControlImpl() {
30 | super();
31 | }
32 |
33 | /**
34 | *
35 | *
36 | * @generated
37 | */
38 | @Override
39 | protected EClass eStaticClass() {
40 | return SclPackage.eINSTANCE.getTSCLControl();
41 | }
42 |
43 | } //TSCLControlImpl
44 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/impl/TSMVImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl.impl;
8 |
9 | import ch.iec._61850._2006.scl.SclPackage;
10 | import ch.iec._61850._2006.scl.TSMV;
11 |
12 | import org.eclipse.emf.ecore.EClass;
13 |
14 | /**
15 | *
16 | * An implementation of the model object 'TSMV'.
17 | *
18 | *
19 | *
20 | *
21 | * @generated
22 | */
23 | public class TSMVImpl extends TControlBlockImpl implements TSMV {
24 | /**
25 | *
26 | *
27 | * @generated
28 | */
29 | protected TSMVImpl() {
30 | super();
31 | }
32 |
33 | /**
34 | *
35 | *
36 | * @generated
37 | */
38 | @Override
39 | protected EClass eStaticClass() {
40 | return SclPackage.eINSTANCE.getTSMV();
41 | }
42 |
43 | } //TSMVImpl
44 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/impl/TServiceYesNoImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl.impl;
8 |
9 | import ch.iec._61850._2006.scl.SclPackage;
10 | import ch.iec._61850._2006.scl.TServiceYesNo;
11 |
12 | import org.eclipse.emf.ecore.EClass;
13 |
14 | import org.eclipse.emf.ecore.impl.EObjectImpl;
15 |
16 | /**
17 | *
18 | * An implementation of the model object 'TService Yes No'.
19 | *
20 | *
21 | *
22 | *
23 | * @generated
24 | */
25 | public class TServiceYesNoImpl extends EObjectImpl implements TServiceYesNo {
26 | /**
27 | *
28 | *
29 | * @generated
30 | */
31 | protected TServiceYesNoImpl() {
32 | super();
33 | }
34 |
35 | /**
36 | *
37 | *
38 | * @generated
39 | */
40 | @Override
41 | protected EClass eStaticClass() {
42 | return SclPackage.eINSTANCE.getTServiceYesNo();
43 | }
44 |
45 | } //TServiceYesNoImpl
46 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/impl/TVoltageImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl.impl;
8 |
9 | import ch.iec._61850._2006.scl.SclPackage;
10 | import ch.iec._61850._2006.scl.TVoltage;
11 |
12 | import org.eclipse.emf.ecore.EClass;
13 |
14 | /**
15 | *
16 | * An implementation of the model object 'TVoltage'.
17 | *
18 | *
19 | *
20 | *
21 | * @generated
22 | */
23 | public class TVoltageImpl extends TValueWithUnitImpl implements TVoltage {
24 | /**
25 | *
26 | *
27 | * @generated
28 | */
29 | protected TVoltageImpl() {
30 | super();
31 | }
32 |
33 | /**
34 | *
35 | *
36 | * @generated
37 | */
38 | @Override
39 | protected EClass eStaticClass() {
40 | return SclPackage.eINSTANCE.getTVoltage();
41 | }
42 |
43 | } //TVoltageImpl
44 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/util/SclResourceFactoryImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl.util;
8 |
9 | import org.eclipse.emf.common.util.URI;
10 |
11 | import org.eclipse.emf.ecore.resource.Resource;
12 |
13 | import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
14 |
15 | import org.eclipse.emf.ecore.xmi.XMLResource;
16 |
17 | /**
18 | *
19 | * The Resource Factory associated with the package.
20 | *
21 | * @see ch.iec._61850._2006.scl.util.SclResourceImpl
22 | * @generated
23 | */
24 | public class SclResourceFactoryImpl extends ResourceFactoryImpl {
25 | /**
26 | * Creates an instance of the resource factory.
27 | *
28 | *
29 | * @generated
30 | */
31 | public SclResourceFactoryImpl() {
32 | super();
33 | }
34 |
35 | /**
36 | * Creates an instance of the resource.
37 | *
38 | *
39 | * @generated
40 | */
41 | @Override
42 | public Resource createResource(URI uri) {
43 | XMLResource result = new SclResourceImpl(uri);
44 | result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
45 | result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
46 |
47 | result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
48 |
49 | result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
50 | result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
51 |
52 | result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
53 | return result;
54 | }
55 |
56 | } //SclResourceFactoryImpl
57 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/util/SclResourceImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl.util;
8 |
9 | import org.eclipse.emf.common.util.URI;
10 |
11 | import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
12 |
13 | /**
14 | *
15 | * The Resource associated with the package.
16 | *
17 | * @see ch.iec._61850._2006.scl.util.SclResourceFactoryImpl
18 | * @generated
19 | */
20 | public class SclResourceImpl extends XMLResourceImpl {
21 | /**
22 | * Creates an instance of the resource.
23 | *
24 | *
25 | * @param uri the URI of the new resource.
26 | * @generated
27 | */
28 | public SclResourceImpl(URI uri) {
29 | super(uri);
30 | }
31 |
32 | } //SclResourceImpl
33 |
--------------------------------------------------------------------------------
/emf/src/ch/iec/_61850/_2006/scl/util/SclXMLProcessor.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | *
5 | * $Id$
6 | */
7 | package ch.iec._61850._2006.scl.util;
8 |
9 | import ch.iec._61850._2006.scl.SclPackage;
10 |
11 | import java.util.Map;
12 |
13 | import org.eclipse.emf.ecore.EPackage;
14 |
15 | import org.eclipse.emf.ecore.resource.Resource;
16 |
17 | import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
18 |
19 | /**
20 | * This class contains helper methods to serialize and deserialize XML documents
21 | *
22 | *
23 | * @generated
24 | */
25 | public class SclXMLProcessor extends XMLProcessor {
26 |
27 | /**
28 | * Public constructor to instantiate the helper.
29 | *
30 | *
31 | * @generated
32 | */
33 | public SclXMLProcessor() {
34 | super((EPackage.Registry.INSTANCE));
35 | SclPackage.eINSTANCE.eClass();
36 | }
37 |
38 | /**
39 | * Register for "*" and "xml" file extensions the SclResourceFactoryImpl factory.
40 | *
41 | *
42 | * @generated
43 | */
44 | @Override
45 | protected Map getRegistrations() {
46 | if (registrations == null) {
47 | super.getRegistrations();
48 | registrations.put(XML_EXTENSION, new SclResourceFactoryImpl());
49 | registrations.put(STAR_EXTENSION, new SclResourceFactoryImpl());
50 | }
51 | return registrations;
52 | }
53 |
54 | } //SclXMLProcessor
55 |
--------------------------------------------------------------------------------
/emf/src/rapid61850/CFunction.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Rapid-prototyping protection schemes with IEC 61850
3 | *
4 | * Copyright (c) 2012 Steven Blair
5 | *
6 | * This program is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU General Public License
8 | * as published by the Free Software Foundation; either version 2
9 | * of the License, or (at your option) any later version.
10 |
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 | */
20 |
21 | package rapid61850;
22 |
23 |
24 | public abstract class CFunction {
25 |
26 | public String returnType;
27 |
28 | public CFunction() {
29 | this.returnType = "void"; // default return type
30 | }
31 |
32 | public CFunction(String returnType) {
33 | this.returnType = returnType;
34 | }
35 |
36 | public abstract String getName();
37 | public abstract String getArgs();
38 | public abstract String getFunctionName();
39 | public abstract String getBody();
40 |
41 | public String getFunctionDefinition() {
42 | return this.returnType + " " + this.getFunctionName() + "(" + this.getArgs() + ")";
43 | }
44 |
45 | public String getPrototype() {
46 | return this.getFunctionDefinition() + ";\n";
47 | }
48 |
49 | // template method
50 | public String toString() {
51 | return getFunctionDefinition() + " {\n" + this.getBody() + "}";
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/emf/src/rapid61850/CFunctionControl.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Rapid-prototyping protection schemes with IEC 61850
3 | *
4 | * Copyright (c) 2012 Steven Blair
5 | *
6 | * This program is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU General Public License
8 | * as published by the Free Software Foundation; either version 2
9 | * of the License, or (at your option) any later version.
10 |
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 | */
20 |
21 | package rapid61850;
22 |
23 | import ch.iec._61850._2006.scl.TControl;
24 | import ch.iec._61850._2006.scl.TIED;
25 | import ch.iec._61850._2006.scl.TLDevice;
26 |
27 | /**
28 | * Generates the mapping between Controls and Datasets.
29 | */
30 | public class CFunctionControl extends CFunction {
31 |
32 | private TControl control;
33 | private String prefix;
34 | private SCDAdditionalMappings map;
35 |
36 | public CFunctionControl(TControl control, CommsType commsType, SCDAdditionalMappings map) {
37 | super();
38 | this.control = control;
39 | this.map = map;
40 | if (commsType == CommsType.GSE) {
41 | this.prefix = "ber_encode_";
42 | }
43 | else{
44 | this.prefix = "encode_";
45 | }
46 | this.returnType = "int";
47 | }
48 |
49 | @Override
50 | public String getName() {
51 | String iedName = ((TIED) control.eContainer().eContainer().eContainer().eContainer().eContainer()).getName();
52 | String ldInst = ((TLDevice) control.eContainer().eContainer()).getInst();
53 |
54 | return "control_" + iedName + "_" + ldInst + "_" + control.getName();
55 | }
56 |
57 | @Override
58 | public String getArgs() {
59 | return "unsigned char *buf";
60 | }
61 |
62 | @Override
63 | public String getFunctionName() {
64 | return this.prefix + this.getName();
65 | }
66 |
67 | @Override
68 | public String getBody() {
69 | String datasetUniqueName = SCDCodeGenerator.getUniqueDatasetName(/*control.getDataSetRef()*/map.getDataset(control));
70 | return "\treturn " + this.prefix + datasetUniqueName + "(buf);\n";
71 | }
72 |
73 | }
74 |
--------------------------------------------------------------------------------
/emf/src/rapid61850/CFunctionGSECoder.java:
--------------------------------------------------------------------------------
1 | package rapid61850;
2 |
3 | import org.eclipse.emf.ecore.EObject;
4 |
5 | import ch.iec._61850._2006.scl.TExtRef;
6 |
7 | public class CFunctionGSECoder extends CFunctionCoder {
8 |
9 | public CFunctionGSECoder(EObject obj, CoderType coderType, SCDAdditionalMappings map) {
10 | super(obj, CommsType.GSE, coderType, map);
11 |
12 | if (coderType == CoderType.DECODER) {
13 | this.prefix = "ber_decode_";
14 | }
15 | else if (coderType == CoderType.ENCODER) {
16 | this.prefix = "ber_encode_";
17 | }
18 | }
19 |
20 | public CFunctionGSECoder(EObject obj, TExtRef extRef, CoderType coderType, SCDAdditionalMappings map) {
21 | this(obj, coderType, map);
22 | this.extRef = extRef;
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/emf/src/rapid61850/CFunctionGSELengthCoder.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Rapid-prototyping protection schemes with IEC 61850
3 | *
4 | * Copyright (c) 2012 Steven Blair
5 | *
6 | * This program is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU General Public License
8 | * as published by the Free Software Foundation; either version 2
9 | * of the License, or (at your option) any later version.
10 |
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 | */
20 |
21 | package rapid61850;
22 |
23 | import java.util.Iterator;
24 |
25 | import org.eclipse.emf.ecore.EObject;
26 |
27 | import ch.iec._61850._2006.scl.SclPackage;
28 |
29 | public class CFunctionGSELengthCoder extends CFunctionGSECoder {
30 |
31 | public CFunctionGSELengthCoder(EObject obj, CoderType coderType, SCDAdditionalMappings map) {
32 | super(obj, coderType, map);
33 |
34 | this.prefix = "ber_get_length_";
35 | }
36 |
37 | public String getArgs() {
38 | if (dataType.eClass() == SclPackage.eINSTANCE.getTDataSet()) {
39 | return "";
40 | }
41 | else {
42 | return "struct " + getName() + " *" + getName();
43 | }
44 | }
45 |
46 | public String getBody() {
47 | Iterator objects = dataType.eContents().iterator();
48 | String func = "\tint total = 0;\n\tint len = 0;\n\n";
49 |
50 | if (commsType != CommsType.GSE) {
51 | return null;
52 | }
53 |
54 | while (objects.hasNext()) {
55 | EObject obj = objects.next();
56 |
57 | if (obj == null) {
58 | return null;
59 | }
60 |
61 | func = func.concat(getItemCoder(obj, true));
62 | func = func.concat("\ttotal += len + getLengthBytes(len) + 1;\n");
63 | }
64 |
65 | func = func.concat("\n\treturn total;\n");
66 |
67 | return func;
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/emf/src/rapid61850/CFunctionSVCoder.java:
--------------------------------------------------------------------------------
1 | package rapid61850;
2 |
3 | import org.eclipse.emf.ecore.EObject;
4 |
5 | import ch.iec._61850._2006.scl.TExtRef;
6 |
7 | public class CFunctionSVCoder extends CFunctionCoder {
8 |
9 | public CFunctionSVCoder(EObject obj, CoderType coderType, SCDAdditionalMappings map) {
10 | super(obj, CommsType.SV, coderType, map);
11 |
12 | if (coderType == CoderType.DECODER) {
13 | this.prefix = "decode_";
14 | }
15 | else if (coderType == CoderType.ENCODER) {
16 | this.prefix = "encode_";
17 | }
18 | }
19 |
20 | public CFunctionSVCoder(EObject obj, TExtRef extRef, CoderType coderType, SCDAdditionalMappings map) {
21 | this(obj, coderType, map);
22 | this.extRef = extRef;
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/emf/src/rapid61850/CHeader.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Rapid-prototyping protection schemes with IEC 61850
3 | *
4 | * Copyright (c) 2012 Steven Blair
5 | *
6 | * This program is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU General Public License
8 | * as published by the Free Software Foundation; either version 2
9 | * of the License, or (at your option) any later version.
10 |
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 | */
20 |
21 | package rapid61850;
22 |
23 | import rapid61850.templates.CHeaderTemplate;
24 |
25 | public class CHeader extends CFile {
26 | public String headerProtectName;
27 | public StringBuilder datatypes;
28 | public StringBuilder functionPrototypes;
29 | public StringBuilder extern;
30 | public CHeaderTemplate template;
31 | public Boolean showExternC = true;
32 |
33 | public CHeader(String filename, String headerProtectName) {
34 | super(filename);
35 |
36 | this.headerProtectName = headerProtectName;
37 | this.datatypes = new StringBuilder();
38 | this.functionPrototypes = new StringBuilder();
39 | this.extern = new StringBuilder();
40 | this.template = new CHeaderTemplate();
41 | }
42 |
43 | public CHeader(String filename, String headerProtectName, String includes, Boolean showExternC) {
44 | this(filename, headerProtectName);
45 | this.showExternC = showExternC;
46 | }
47 |
48 | public void appendFunctionPrototypes(StringBuilder functionPrototypes) {
49 | this.functionPrototypes.append(functionPrototypes);
50 | }
51 |
52 | public void appendFunctionPrototypes(String functionPrototypes) {
53 | this.functionPrototypes.append(functionPrototypes);
54 | }
55 |
56 | public void appendDatatypes(StringBuilder datatypes) {
57 | this.datatypes.append(datatypes);
58 | }
59 |
60 | public void appendDatatypes(String datatypes) {
61 | this.datatypes.append(datatypes);
62 | }
63 |
64 | public void appendExtern(StringBuilder extern) {
65 | this.extern.append(extern);
66 | }
67 |
68 | public void appendExtern(String extern) {
69 | this.extern.append(extern);
70 | }
71 |
72 | public void saveFile() {
73 | saveFile(template.generate(this), "");
74 | }
75 | }
76 |
--------------------------------------------------------------------------------
/emf/src/rapid61850/CoderType.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Rapid-prototyping protection schemes with IEC 61850
3 | *
4 | * Copyright (c) 2012 Steven Blair
5 | *
6 | * This program is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU General Public License
8 | * as published by the Free Software Foundation; either version 2
9 | * of the License, or (at your option) any later version.
10 |
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 | */
20 |
21 | package rapid61850;
22 |
23 | public enum CoderType {
24 | ENCODER, DECODER
25 | }
--------------------------------------------------------------------------------
/emf/src/rapid61850/CommsType.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Rapid-prototyping protection schemes with IEC 61850
3 | *
4 | * Copyright (c) 2012 Steven Blair
5 | *
6 | * This program is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU General Public License
8 | * as published by the Free Software Foundation; either version 2
9 | * of the License, or (at your option) any later version.
10 |
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 | */
20 |
21 | package rapid61850;
22 |
23 | public enum CommsType {
24 | GSE, SV
25 | }
26 |
--------------------------------------------------------------------------------
/emf/src/rapid61850/JSONDatabaseManager.java:
--------------------------------------------------------------------------------
1 | package rapid61850;
2 |
3 | public class JSONDatabaseManager {
4 |
5 | int itemNumber = 0;
6 | StringBuilder path = new StringBuilder("");
7 |
8 | public JSONDatabaseManager(String iedName) {
9 | path.append(iedName);
10 | }
11 |
12 | public void addItem() {
13 | itemNumber++;
14 | }
15 |
16 | public void addLayer() {
17 | path.append(".items" + "[" + itemNumber + "]");
18 | itemNumber = 0;
19 | }
20 |
21 | public void popLayer() {
22 | int index = path.lastIndexOf(".items[");
23 |
24 | // get number from path
25 | itemNumber = Integer.parseInt(path.substring(index + 7, path.length() - 1));
26 |
27 | // System.out.println("old path: " + path);
28 | path = new StringBuilder(path.substring(0, index));
29 | // System.out.println("index: " + index + "; new path: " + path + "; itemNumber: " + itemNumber);
30 | }
31 |
32 | public String getPath() {
33 | return path.toString() + ".items[" + itemNumber + "]";
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/emf/src/rapid61850/Main.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Rapid-prototyping protection schemes with IEC 61850
3 | *
4 | * Copyright (c) 2014 Steven Blair
5 | *
6 | * This program is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU General Public License
8 | * as published by the Free Software Foundation; either version 2
9 | * of the License, or (at your option) any later version.
10 |
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 | */
20 |
21 | package rapid61850;
22 |
23 | import java.io.File;
24 |
25 | import org.eclipse.emf.ecore.resource.Resource;
26 |
27 | import ch.iec._61850._2006.scl.DocumentRoot;
28 | import ch.iec._61850._2006.scl.util.SclXMLProcessor;
29 |
30 | public class Main {
31 |
32 | final static String PATH_TO_SOURCE = "src" + File.separator + "rapid61850" + File.separator;
33 | final static String SCD_FILENAME = "scd.xml"; // edit this to match the input SCD filename
34 |
35 | public static void main(String[] args) {
36 | SCDValidator validator = new SCDValidator();
37 | SCDAdditionalMappings map = new SCDAdditionalMappings();
38 | SCDCodeGenerator scdCodeGenerator = new SCDCodeGenerator();
39 |
40 | // import SCD file
41 | Resource resource = null;
42 | try {
43 | File scdFile = new File(PATH_TO_SOURCE, SCD_FILENAME);
44 | if (scdFile.exists()) {
45 | SclXMLProcessor processor = new SclXMLProcessor();
46 | resource = processor.load(scdFile.getAbsolutePath(), null);
47 | }
48 | else {
49 | validator.error("SCD file '" + SCD_FILENAME + "' does not exist");
50 | }
51 | }
52 | catch (Exception e) {
53 | e.printStackTrace();
54 | validator.error("EMF cannot parse SCD file");
55 | }
56 |
57 | // get root of XML document
58 | DocumentRoot root = ((DocumentRoot) resource.getContents().get(0));
59 |
60 | // model validation and additional mappings
61 | validator.validate(root, map);
62 |
63 | // generate code
64 | scdCodeGenerator.generateCode(root, map);
65 | }
66 | }
67 |
--------------------------------------------------------------------------------
/emf/src/rapid61850/license.txt:
--------------------------------------------------------------------------------
1 | /**
2 | * Rapid-prototyping protection schemes with IEC 61850
3 | *
4 | * Copyright (c) 2014 Steven Blair
5 | *
6 | * This program is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU General Public License
8 | * as published by the Free Software Foundation; either version 2
9 | * of the License, or (at your option) any later version.
10 |
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 | */
20 |
--------------------------------------------------------------------------------
/emf/src/rapid61850/templates/CHeaderTemplate.java:
--------------------------------------------------------------------------------
1 | package rapid61850.templates;
2 |
3 | import rapid61850.CHeader;;
4 |
5 | public class CHeaderTemplate
6 | {
7 | protected static String nl;
8 | public static synchronized CHeaderTemplate create(String lineSeparator)
9 | {
10 | nl = lineSeparator;
11 | CHeaderTemplate result = new CHeaderTemplate();
12 | nl = null;
13 | return result;
14 | }
15 |
16 | public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
17 | protected final String TEXT_1 = "#ifndef ";
18 | protected final String TEXT_2 = NL + "#define ";
19 | protected final String TEXT_3 = NL;
20 | protected final String TEXT_4 = NL + "#ifdef __cplusplus /* If this is a C++ compiler, use C linkage */" + NL + "extern \"C\" {" + NL + "#endif";
21 | protected final String TEXT_5 = NL;
22 | protected final String TEXT_6 = NL;
23 | protected final String TEXT_7 = NL;
24 | protected final String TEXT_8 = NL;
25 | protected final String TEXT_9 = NL;
26 | protected final String TEXT_10 = NL;
27 | protected final String TEXT_11 = NL;
28 | protected final String TEXT_12 = NL;
29 | protected final String TEXT_13 = NL;
30 | protected final String TEXT_14 = NL + "#ifdef __cplusplus /* If this is a C++ compiler, end C linkage */" + NL + "}" + NL + "#endif";
31 | protected final String TEXT_15 = NL + NL + "#endif";
32 | protected final String TEXT_16 = NL;
33 |
34 | public String generate(Object argument)
35 | {
36 | final StringBuffer stringBuffer = new StringBuffer();
37 | CHeader header = (CHeader) argument;
38 | stringBuffer.append(TEXT_1);
39 | stringBuffer.append(header.headerProtectName);
40 | stringBuffer.append(TEXT_2);
41 | stringBuffer.append(header.headerProtectName);
42 | stringBuffer.append(TEXT_3);
43 | if (header.showExternC) {
44 | stringBuffer.append(TEXT_4);
45 | }
46 | stringBuffer.append(TEXT_5);
47 | stringBuffer.append(TEXT_6);
48 | stringBuffer.append(
49 | header.getIncludes()
50 | );
51 | stringBuffer.append(TEXT_7);
52 | stringBuffer.append(TEXT_8);
53 | stringBuffer.append(
54 | header.datatypes.toString()
55 | );
56 | stringBuffer.append(TEXT_9);
57 | stringBuffer.append(TEXT_10);
58 | stringBuffer.append(
59 | header.functionPrototypes.toString()
60 | );
61 | stringBuffer.append(TEXT_11);
62 | stringBuffer.append(TEXT_12);
63 | stringBuffer.append(
64 | header.extern.toString()
65 | );
66 | stringBuffer.append(TEXT_13);
67 | if (header.showExternC) {
68 | stringBuffer.append(TEXT_14);
69 | }
70 | stringBuffer.append(TEXT_15);
71 | stringBuffer.append(TEXT_16);
72 | return stringBuffer.toString();
73 | }
74 | }
75 |
--------------------------------------------------------------------------------
/emf/src/rapid61850/templates/CSourceTemplate.java:
--------------------------------------------------------------------------------
1 | package rapid61850.templates;
2 |
3 | import rapid61850.CSource;
4 | import java.util.Iterator;
5 | import rapid61850.CFunction;
6 |
7 | public class CSourceTemplate
8 | {
9 | protected static String nl;
10 | public static synchronized CSourceTemplate create(String lineSeparator)
11 | {
12 | nl = lineSeparator;
13 | CSourceTemplate result = new CSourceTemplate();
14 | nl = null;
15 | return result;
16 | }
17 |
18 | public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
19 | protected final String TEXT_1 = "";
20 | protected final String TEXT_2 = NL;
21 | protected final String TEXT_3 = NL;
22 | protected final String TEXT_4 = NL;
23 | protected final String TEXT_5 = NL;
24 | protected final String TEXT_6 = NL;
25 | protected final String TEXT_7 = NL;
26 | protected final String TEXT_8 = NL;
27 |
28 | public String generate(Object argument)
29 | {
30 | final StringBuffer stringBuffer = new StringBuffer();
31 | CSource header = (CSource) argument;
32 | stringBuffer.append(TEXT_1);
33 | stringBuffer.append(
34 | header.getIncludes()
35 | );
36 | stringBuffer.append(TEXT_2);
37 | stringBuffer.append(TEXT_3);
38 | stringBuffer.append(
39 | header.instances.toString()
40 | );
41 | stringBuffer.append(TEXT_4);
42 |
43 | Iterator functions = header.functions.iterator();
44 | while (functions.hasNext()) {
45 | CFunction function = functions.next();
46 |
47 | stringBuffer.append(TEXT_5);
48 | stringBuffer.append(function.toString());
49 | }
50 | stringBuffer.append(TEXT_6);
51 | stringBuffer.append(TEXT_7);
52 | stringBuffer.append(
53 | header.manualFunctions.toString()
54 | );
55 | stringBuffer.append(TEXT_8);
56 | return stringBuffer.toString();
57 | }
58 | }
59 |
--------------------------------------------------------------------------------
/emf/templates/CHeaderTemplate.cjet:
--------------------------------------------------------------------------------
1 | <%@ jet package="rapid61850.templates" imports="rapid61850.CHeader;" class="CHeaderTemplate" %>
2 | <% CHeader header = (CHeader) argument; %>
3 | #ifndef <%=header.headerProtectName%>
4 | #define <%=header.headerProtectName%>
5 |
6 | <% if (header.showExternC) { %>
7 | #ifdef __cplusplus /* If this is a C++ compiler, use C linkage */
8 | extern "C" {
9 | #endif
10 | <%}%>
11 |
12 | <%=
13 | header.getIncludes()
14 | %>
15 |
16 | <%=
17 | header.datatypes.toString()
18 | %>
19 |
20 | <%=
21 | header.functionPrototypes.toString()
22 | %>
23 |
24 | <%=
25 | header.extern.toString()
26 | %>
27 |
28 | <% if (header.showExternC) { %>
29 | #ifdef __cplusplus /* If this is a C++ compiler, end C linkage */
30 | }
31 | #endif
32 | <%}%>
33 |
34 | #endif
35 |
--------------------------------------------------------------------------------
/emf/templates/CSourceTemplate.cjet:
--------------------------------------------------------------------------------
1 | <%@ jet package="rapid61850.templates" imports="rapid61850.CSource java.util.Iterator rapid61850.CFunction" class="CSourceTemplate" %>
2 | <% CSource header = (CSource) argument; %>
3 | <%=
4 | header.getIncludes()
5 | %>
6 |
7 | <%=
8 | header.instances.toString()
9 | %>
10 |
11 | <%
12 | Iterator functions = header.functions.iterator();
13 | while (functions.hasNext()) {
14 | CFunction function = functions.next();
15 | %>
16 | <%=function.toString()%>
17 | <%}%>
18 |
19 | <%=
20 | header.manualFunctions.toString()
21 | %>
22 |
--------------------------------------------------------------------------------
/java_interface/Main.java:
--------------------------------------------------------------------------------
1 |
2 | public class Main {
3 | static {
4 | System.loadLibrary("rapid61850");
5 | }
6 |
7 | public static void main(String[] args) {
8 | rapid61850.start();
9 |
10 | System.out.println(rapid61850.interface_gse_send_E1Q1SB1_C1_Performance(1, 512)); // send GOOSE packet
11 |
12 | rapid61850.getE1Q1SB1().getS1().getC1().getMMXUa_1().getMod().setStVal(Mod.MOD_ON_1); // interact with IED data model
13 | System.out.println(rapid61850.getE1Q1SB1().getS1().getC1().getMMXUa_1().getMod().getStVal());
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/processing/PACWorldClient/GUI.pde:
--------------------------------------------------------------------------------
1 | /**
2 | * Rapid-prototyping protection schemes with IEC 61850
3 | *
4 | * Copyright (c) 2011 Steven Blair
5 | *
6 | * This program is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU General Public License
8 | * as published by the Free Software Foundation; either version 2
9 | * of the License, or (at your option) any later version.
10 |
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 | */
20 |
21 | ControlP5 controlP5;
22 |
23 | void initGUI() {
24 | controlP5 = new ControlP5(this);
25 | controlP5.addToggle("SendGOOSE", false, 650, 30, 100, 40);
26 | }
27 |
28 | void SendGOOSE(boolean flag) {
29 | if (flag == true) {
30 | out.write("1");
31 | out.flush();
32 | }
33 | else {
34 | out.write("0");
35 | out.flush();
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/processing/PACWorldClient/application.linux/PACWorldClient:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | APPDIR=$(dirname "$0")
4 | java -Djava.library.path="$APPDIR" -cp "$APPDIR/lib/controlP5.jar:$APPDIR/lib/PACWorldClient.jar:$APPDIR/lib/core.jar:$APPDIR/lib/net.jar" PACWorldClient
5 |
--------------------------------------------------------------------------------
/processing/PACWorldClient/application.linux/lib/PACWorldClient.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stevenblair/rapid61850/30479c1d59d8b716f445f17d3d33d2201dcc2ca9/processing/PACWorldClient/application.linux/lib/PACWorldClient.jar
--------------------------------------------------------------------------------
/processing/PACWorldClient/application.linux/lib/controlP5.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stevenblair/rapid61850/30479c1d59d8b716f445f17d3d33d2201dcc2ca9/processing/PACWorldClient/application.linux/lib/controlP5.jar
--------------------------------------------------------------------------------
/processing/PACWorldClient/application.linux/lib/core.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stevenblair/rapid61850/30479c1d59d8b716f445f17d3d33d2201dcc2ca9/processing/PACWorldClient/application.linux/lib/core.jar
--------------------------------------------------------------------------------
/processing/PACWorldClient/application.linux/lib/net.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stevenblair/rapid61850/30479c1d59d8b716f445f17d3d33d2201dcc2ca9/processing/PACWorldClient/application.linux/lib/net.jar
--------------------------------------------------------------------------------
/processing/PACWorldClient/application.linux/source/GUI.pde:
--------------------------------------------------------------------------------
1 | ControlP5 controlP5;
2 |
3 | void initGUI() {
4 | controlP5 = new ControlP5(this);
5 | controlP5.addToggle("SendGOOSE", false, 650, 30, 100, 40);
6 | }
7 |
8 | void SendGOOSE(boolean flag) {
9 | if (flag == true) {
10 | out.write("1");
11 | out.flush();
12 | }
13 | else {
14 | out.write("0");
15 | out.flush();
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/processing/PACWorldClient/application.macosx/PACWorldClient.app/Contents/MacOS/JavaApplicationStub:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stevenblair/rapid61850/30479c1d59d8b716f445f17d3d33d2201dcc2ca9/processing/PACWorldClient/application.macosx/PACWorldClient.app/Contents/MacOS/JavaApplicationStub
--------------------------------------------------------------------------------
/processing/PACWorldClient/application.macosx/PACWorldClient.app/Contents/MacOS/JavaApplicationStub64:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stevenblair/rapid61850/30479c1d59d8b716f445f17d3d33d2201dcc2ca9/processing/PACWorldClient/application.macosx/PACWorldClient.app/Contents/MacOS/JavaApplicationStub64
--------------------------------------------------------------------------------
/processing/PACWorldClient/application.macosx/PACWorldClient.app/Contents/PkgInfo:
--------------------------------------------------------------------------------
1 | APPL????
--------------------------------------------------------------------------------
/processing/PACWorldClient/application.macosx/PACWorldClient.app/Contents/Resources/Java/PACWorldClient.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stevenblair/rapid61850/30479c1d59d8b716f445f17d3d33d2201dcc2ca9/processing/PACWorldClient/application.macosx/PACWorldClient.app/Contents/Resources/Java/PACWorldClient.jar
--------------------------------------------------------------------------------
/processing/PACWorldClient/application.macosx/PACWorldClient.app/Contents/Resources/Java/controlP5.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stevenblair/rapid61850/30479c1d59d8b716f445f17d3d33d2201dcc2ca9/processing/PACWorldClient/application.macosx/PACWorldClient.app/Contents/Resources/Java/controlP5.jar
--------------------------------------------------------------------------------
/processing/PACWorldClient/application.macosx/PACWorldClient.app/Contents/Resources/Java/core.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stevenblair/rapid61850/30479c1d59d8b716f445f17d3d33d2201dcc2ca9/processing/PACWorldClient/application.macosx/PACWorldClient.app/Contents/Resources/Java/core.jar
--------------------------------------------------------------------------------
/processing/PACWorldClient/application.macosx/PACWorldClient.app/Contents/Resources/Java/net.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stevenblair/rapid61850/30479c1d59d8b716f445f17d3d33d2201dcc2ca9/processing/PACWorldClient/application.macosx/PACWorldClient.app/Contents/Resources/Java/net.jar
--------------------------------------------------------------------------------
/processing/PACWorldClient/application.macosx/PACWorldClient.app/Contents/Resources/sketch.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stevenblair/rapid61850/30479c1d59d8b716f445f17d3d33d2201dcc2ca9/processing/PACWorldClient/application.macosx/PACWorldClient.app/Contents/Resources/sketch.icns
--------------------------------------------------------------------------------
/processing/PACWorldClient/application.macosx/readme.txt:
--------------------------------------------------------------------------------
1 | This application was created on Windows, which does not
2 | properly support setting files as "executable",
3 | a necessity for applications on Mac OS X.
4 |
5 | To fix this, use the Terminal on Mac OS X, and from this
6 | directory, type the following:
7 |
8 | chmod +x PACWorldClient.app/Contents/MacOS/JavaApplicationStub
9 |
--------------------------------------------------------------------------------
/processing/PACWorldClient/application.macosx/source/GUI.pde:
--------------------------------------------------------------------------------
1 | ControlP5 controlP5;
2 |
3 | void initGUI() {
4 | controlP5 = new ControlP5(this);
5 | controlP5.addToggle("SendGOOSE", false, 650, 30, 100, 40);
6 | }
7 |
8 | void SendGOOSE(boolean flag) {
9 | if (flag == true) {
10 | out.write("1");
11 | out.flush();
12 | }
13 | else {
14 | out.write("0");
15 | out.flush();
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/processing/PACWorldClient/application.windows/PACWorldClient.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stevenblair/rapid61850/30479c1d59d8b716f445f17d3d33d2201dcc2ca9/processing/PACWorldClient/application.windows/PACWorldClient.exe
--------------------------------------------------------------------------------
/processing/PACWorldClient/application.windows/lib/PACWorldClient.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stevenblair/rapid61850/30479c1d59d8b716f445f17d3d33d2201dcc2ca9/processing/PACWorldClient/application.windows/lib/PACWorldClient.jar
--------------------------------------------------------------------------------
/processing/PACWorldClient/application.windows/lib/args.txt:
--------------------------------------------------------------------------------
1 |
2 | PACWorldClient
3 | controlP5.jar,PACWorldClient.jar,core.jar,net.jar
4 |
--------------------------------------------------------------------------------
/processing/PACWorldClient/application.windows/lib/controlP5.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stevenblair/rapid61850/30479c1d59d8b716f445f17d3d33d2201dcc2ca9/processing/PACWorldClient/application.windows/lib/controlP5.jar
--------------------------------------------------------------------------------
/processing/PACWorldClient/application.windows/lib/core.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stevenblair/rapid61850/30479c1d59d8b716f445f17d3d33d2201dcc2ca9/processing/PACWorldClient/application.windows/lib/core.jar
--------------------------------------------------------------------------------
/processing/PACWorldClient/application.windows/lib/net.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stevenblair/rapid61850/30479c1d59d8b716f445f17d3d33d2201dcc2ca9/processing/PACWorldClient/application.windows/lib/net.jar
--------------------------------------------------------------------------------
/processing/PACWorldClient/application.windows/source/GUI.pde:
--------------------------------------------------------------------------------
1 | ControlP5 controlP5;
2 |
3 | void initGUI() {
4 | controlP5 = new ControlP5(this);
5 | controlP5.addToggle("SendGOOSE", false, 650, 30, 100, 40);
6 | }
7 |
8 | void SendGOOSE(boolean flag) {
9 | if (flag == true) {
10 | out.write("1");
11 | out.flush();
12 | }
13 | else {
14 | out.write("0");
15 | out.flush();
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/processing/PACWorldClient/code/controlP5.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stevenblair/rapid61850/30479c1d59d8b716f445f17d3d33d2201dcc2ca9/processing/PACWorldClient/code/controlP5.jar
--------------------------------------------------------------------------------
/processing/PACWorldClient/data/AngsanaUPC-48.vlw:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stevenblair/rapid61850/30479c1d59d8b716f445f17d3d33d2201dcc2ca9/processing/PACWorldClient/data/AngsanaUPC-48.vlw
--------------------------------------------------------------------------------
/python_interface/main.py:
--------------------------------------------------------------------------------
1 | #@PydevCodeAnalysisIgnore
2 | import rapid61850
3 | from rapid61850 import *
4 |
5 | rapid61850.start()
6 |
7 | for i in range(2):
8 | print rapid61850.interface_gse_send_D1Q1SB4_C1_MMXUResult(1, 512); # send GOOSE packet
9 |
10 | rapid61850.cvar.E1Q1SB1.S1.C1.LPHDa_1.Mod.stVal = MOD_ON_1 # interact with IED data model
11 | print rapid61850.cvar.E1Q1SB1.S1.C1.LPHDa_1.Mod.stVal
12 |
--------------------------------------------------------------------------------