summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Jamroot.jam24
-rw-r--r--p2pvr/ice/common.ice20
-rw-r--r--p2pvr/ice/dvbsi.ice154
-rw-r--r--p2pvr/ice/p2pvr.ice165
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
+