diff options
-rw-r--r-- | Jamroot.jam | 24 | ||||
-rw-r--r-- | p2pvr/ice/common.ice | 20 | ||||
-rw-r--r-- | p2pvr/ice/dvbsi.ice | 154 | ||||
-rw-r--r-- | p2pvr/ice/p2pvr.ice | 165 |
4 files changed, 182 insertions, 181 deletions
diff --git a/Jamroot.jam b/Jamroot.jam index 1f58848..e0e750e 100644 --- a/Jamroot.jam +++ b/Jamroot.jam @@ -18,31 +18,11 @@ import feature ; import "class" : new ; import scanner ; type.register SLICE : ice ; -class slice-scanner : scanner +class slice-scanner : common-scanner { - import path property-set regex scanner type virtual-target ; - rule __init__ ( includes * ) - { - scanner.__init__ ; - self.includes = $(includes) ; - } rule pattern ( ) { - return "^[ \t]*#[ \t]*include[ ]*(<(.*)>|\"(.*)\")" ; - } - rule process ( target : matches * : binding ) - { - local included = [ regex.transform $(matches) : "\"(.*)\"" : 1 ] ; - local g = [ on $(target) return $(HDRGRIST) ] ; - local b = [ NORMALIZE_PATH $(binding:D) ] ; - local g2 = $(g)"#"$(b) ; - included = $(included:G=$(g2)) ; - #this seems to add the dependency ok to the tree, but - #I can't get these new dependencies to build - #I've seen virtual-target.register but I don't have access to properties - #and project names to do that here. - INCLUDES $(target) : $(included) ; - scanner.propagate $(__name__) : $(matches) : $(target) ; + return "^[ \t]*#[ \t]*include[ ]*[<\"]([^>\"]*)[>\"]" ; } } scanner.register slice-scanner : include ; diff --git a/p2pvr/ice/common.ice b/p2pvr/ice/common.ice new file mode 100644 index 0000000..8296f93 --- /dev/null +++ b/p2pvr/ice/common.ice @@ -0,0 +1,20 @@ +#ifndef COMMON_ICE +#define COMMON_ICE + +module Common { + struct DateTime { + short Year; + short Month; + short Day; + short Hour; + short Minute; + }; + + struct TimeOfDay { + short Hour; + short Minute; + }; +}; + +#endif + diff --git a/p2pvr/ice/dvbsi.ice b/p2pvr/ice/dvbsi.ice new file mode 100644 index 0000000..8cf6527 --- /dev/null +++ b/p2pvr/ice/dvbsi.ice @@ -0,0 +1,154 @@ +#ifndef DVISI_ICE +#define DVISI_ICE + +#include "common.ice" + +// This attempts to define an ICE representation of domain objects contained +// within the DVB SI (Digital Video Broadcasting specification for Service +// Information - EN 300 468 v1.11.1) + +module DVBSI { + // Descriptors + class Delivery { + int TransportStreamId; + long Frequency; + }; + + class SatelliteDelivery extends Delivery { + int OrbitalPosition; + bool WestEastFlag; + short Polarization; + short RollOff; + bool ModulationSystem; + short ModulationType; + int SymbolRate; + short FecInner; + }; + + class CableDelivery extends Delivery { + short FecOuter; + short Modulation; + int SymbolRate; + short FecInner; + }; + + class TerrestrialDelivery extends Delivery { + short Bandwidth; + bool Priority; + bool TimeSlicing; + bool MpeFec; + short Constellation; + short Hierarchy; + short CodeRateHP; + short CodeRateLP; + short GuardInterval; + short TransmissionMode; + bool OtherFrequencyFlag; + }; + + struct NetworkService { + int ServiceId; + int TransportStreamId; + short ServiceType; + }; + sequence<NetworkService> NetworkServiceList; + + class NetworkTransportStream { + int NetworkId; + int TransportStreamId; + int OriginalNetworkId; + SatelliteDelivery Satellite; + CableDelivery Cable; + TerrestrialDelivery Terrestrial; + NetworkServiceList Services; + }; + sequence<NetworkTransportStream> NetworkTransportStreams; + + class Network { + int NetworkId; + optional(1) string Name; + NetworkTransportStreams TransportStreams; + }; + + class BouquetTransportStream { + int TransportStreamId; + int OriginalNetworkId; + }; + sequence <BouquetTransportStream> BouquetTransportStreamList; + + class Bouquet { + int BouquetId; + optional(1) string Name; + optional(2) string DefaultAuthority; + BouquetTransportStreamList Streams; + }; + + class Service { + int ServiceId; + int TransportStreamId; + bool EitSchedule; + bool EitPresentFollowing; + short RunningStatus; + bool FreeCaMode; + optional(1) string ProviderName; + optional(2) string Name; + optional(3) short Type; + optional(4) string DefaultAuthority; + }; + sequence<Service> ServiceList; + + class TransportStream { + int TransportStreamId; + int OriginalNetworkId; + ServiceList Services; + }; + + class Stream { + short Type; + int Id; + int ServiceId; + }; + sequence<Stream> StreamList; + + class ProgramMap { + int ServiceId; + StreamList Streams; + }; + + class EitInformation { + int ServiceId; + int TransportStreamId; + int OriginalNetworkId; + }; + + class Event { + int ServiceId; + int EventId; + string Title; + string TitleLang; + optional(1) string Subtitle; + optional(2) string Description; + optional(3) string DescriptionLang; + Common::DateTime StartTime; + Common::DateTime StopTime; + optional(4) short Episode; + optional(5) short Episodes; + optional(6) short Year; + optional(7) string Flags; + optional(8) short DvbRating; + optional(9) short VideoAspect; + optional(10) short VideoFrameRate; + optional(11) bool VideoHD; + optional(12) short AudioChannels; + optional(13) string AudioLanguage; + optional(14) string SubtitleLanguage; + optional(15) short Category; + optional(16) short SubCategory; + optional(17) short UserCategory; + optional(18) short Season; + }; + sequence<Event> Events; +}; + +#endif + diff --git a/p2pvr/ice/p2pvr.ice b/p2pvr/ice/p2pvr.ice index f6ed579..e585268 100644 --- a/p2pvr/ice/p2pvr.ice +++ b/p2pvr/ice/p2pvr.ice @@ -1,164 +1,9 @@ -module Common { - struct DateTime { - short Year; - short Month; - short Day; - short Hour; - short Minute; - }; - - struct TimeOfDay { - short Hour; - short Minute; - }; -}; - -// This attempts to define an ICE representation of domain objects contained -// within the DVB SI (Digital Video Broadcasting specification for Service -// Information - EN 300 468 v1.11.1) +#ifndef P2PVR_ICE +#define P2PVR_ICE -module DVBSI { - // Descriptors - class Delivery { - int TransportStreamId; - long Frequency; - }; - - class SatelliteDelivery extends Delivery { - int OrbitalPosition; - bool WestEastFlag; - short Polarization; - short RollOff; - bool ModulationSystem; - short ModulationType; - int SymbolRate; - short FecInner; - }; - - class CableDelivery extends Delivery { - short FecOuter; - short Modulation; - int SymbolRate; - short FecInner; - }; +#include "common.ice" +#include "dvbsi.ice" - class TerrestrialDelivery extends Delivery { - short Bandwidth; - bool Priority; - bool TimeSlicing; - bool MpeFec; - short Constellation; - short Hierarchy; - short CodeRateHP; - short CodeRateLP; - short GuardInterval; - short TransmissionMode; - bool OtherFrequencyFlag; - }; - - struct NetworkService { - int ServiceId; - int TransportStreamId; - short ServiceType; - }; - sequence<NetworkService> NetworkServiceList; - - class NetworkTransportStream { - int NetworkId; - int TransportStreamId; - int OriginalNetworkId; - SatelliteDelivery Satellite; - CableDelivery Cable; - TerrestrialDelivery Terrestrial; - NetworkServiceList Services; - }; - sequence<NetworkTransportStream> NetworkTransportStreams; - - class Network { - int NetworkId; - optional(1) string Name; - NetworkTransportStreams TransportStreams; - }; - - class BouquetTransportStream { - int TransportStreamId; - int OriginalNetworkId; - }; - sequence <BouquetTransportStream> BouquetTransportStreamList; - - class Bouquet { - int BouquetId; - optional(1) string Name; - optional(2) string DefaultAuthority; - BouquetTransportStreamList Streams; - }; - - class Service { - int ServiceId; - int TransportStreamId; - bool EitSchedule; - bool EitPresentFollowing; - short RunningStatus; - bool FreeCaMode; - optional(1) string ProviderName; - optional(2) string Name; - optional(3) short Type; - optional(4) string DefaultAuthority; - }; - sequence<Service> ServiceList; - - class TransportStream { - int TransportStreamId; - int OriginalNetworkId; - ServiceList Services; - }; - - class Stream { - short Type; - int Id; - int ServiceId; - }; - sequence<Stream> StreamList; - - class ProgramMap { - int ServiceId; - StreamList Streams; - }; - - class EitInformation { - int ServiceId; - int TransportStreamId; - int OriginalNetworkId; - }; - - class Event { - int ServiceId; - int EventId; - string Title; - string TitleLang; - optional(1) string Subtitle; - optional(2) string Description; - optional(3) string DescriptionLang; - Common::DateTime StartTime; - Common::DateTime StopTime; - optional(4) short Episode; - optional(5) short Episodes; - optional(6) short Year; - optional(7) string Flags; - optional(8) short DvbRating; - optional(9) short VideoAspect; - optional(10) short VideoFrameRate; - optional(11) bool VideoHD; - optional(12) short AudioChannels; - optional(13) string AudioLanguage; - optional(14) string SubtitleLanguage; - optional(15) short Category; - optional(16) short SubCategory; - optional(17) short UserCategory; - optional(18) short Season; - }; - sequence<Event> Events; -}; module P2PVR { exception DeviceError { string Device; @@ -296,3 +141,5 @@ module P2PVR { }; }; +#endif + |