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 +  | 
